0
比方說,我有一個字符串: 如何搜索正則表達式並從ruby中的字符串中替換字符?
asd;;%[email protected]#!G'{}[]
現在我想逃避特殊符號:
;&|><*?`$(){}[]!#
因此,輸出將是這樣的:
asd\;\;%\[email protected]\#\!G\'\{\}\[\]
哪有我在Ruby中使用gsub/sub
來實現此目的?
比方說,我有一個字符串: 如何搜索正則表達式並從ruby中的字符串中替換字符?
asd;;%[email protected]#!G'{}[]
現在我想逃避特殊符號:
;&|><*?`$(){}[]!#
因此,輸出將是這樣的:
asd\;\;%\[email protected]\#\!G\'\{\}\[\]
哪有我在Ruby中使用gsub/sub
來實現此目的?
test_value = "asd;;%[email protected]#!G'{}[]"
SPEC_REGEXP = /((;)|(\&)|(\|)|(>)|(<)|(\*)(\?)|(`)|(\$)|(\()|(\))|({)|(})|(\[)|(\])|(!)|(#))/
test_value.gsub!(SPEC_REGEXP,'\\\\\1')
這裏幾乎是同樣的想法在soundar的解決方案(但使用字符類和無捕獲):
"asd;;%[email protected]#!G'{}[]".gsub(/[;&|><*?`$(){}\[\]!#]/, '\\\\\\0')
這是一個字符串中找出特殊字符的正則表達式。 /[; \&\ |><\ * \?''\ $ \(\){} \ [\] \!\#]/ – 2012-04-20 09:11:02
請參閱http://stackoverflow.com/a/5396495/1315563 – yazu 2012-04-20 09:16:49