我有一个正则表达式,最后有可选的锚点,例如
(\.|,|\/)
我正在尝试添加“)”,但如果我逃避它
(/.|,|\/|\))
找不到它,如果没有找到,它被视为表达式的一部分并因为没有打开的parens而失败。我如何逃脱它,以便将其视为一个角色并找到?
答案 0 :(得分:10)
\)
是转义括号的正确方法。确保您正确转义字符串文字中的\
(\\
)。
答案 1 :(得分:9)
答案 2 :(得分:4)
更容易使用十六进制代码,没有C#转义; (
的代码为\x28
,其对应的)
为\x29
。
然后在你的模式中使用
\x28[^\x29]+\x29 # which escaped would be \)[^\)]+\)
或
\x28.+?\x29
哪个匹配:
(abc)
我也在我的正则表达式模式中使用双引号(\x22
)和单引号(\x27
)这是撇号。
它使得在使用C#编码时更容易使用正则表达式模式。
答案 3 :(得分:1)
你的正则表达式应如下所示:
(\.|,|\/|\))