我有一个正则表达式,最后有可选的锚点,例如
(\.|,|\/)
Run Code Online (Sandbox Code Playgroud)
我试图添加")",但如果我逃避它
(/.|,|\/|\))
Run Code Online (Sandbox Code Playgroud)
它没有找到,如果不逃避,它被视为表达式的一部分,因为没有开放的parens而失败.我如何逃脱它,以便它被视为一个角色并被发现?
Tim*_*ker 15
如果要匹配一组字符中的一个,最好使用字符类.在这样的课程中,大多数逃避规则都不适用.
因此,要匹配点,逗号,斜线或右括号,您可以使用
[.,/)]
Run Code Online (Sandbox Code Playgroud)
无需C#转义,使用十六进制代码更加容易;是一个(
is 的代码,\x28
对应的)
是\x29
。
然后在你的模式中使用
\x28[^\x29]+\x29 # which escaped would be \)[^\)]+\)
要么
\x28.+?\x29
哪个可以匹配:
(abc)
我还在正则表达式模式中将双引号(\x22
)和单引号(\x27
)用作撇号。
使用C#编码时,使用正则表达式模式更加容易。