我工作的一个正则表达式模式,但它包含了一些特殊字符。我不确定如何将它们合并到正常的正则表达式模式字符串中。具体而言,我需要测试,看看是否一个字符串包含“+/-'...正则表达式模式与特殊字符
我用引号等尝试,但没有运气(我非常新的正则表达式)。我在C#4.0中编写了这个代码。
一个字符串的例子是 “3Z1Z +/- 5.5”
任何帮助深表感谢 - 感谢!
我工作的一个正则表达式模式,但它包含了一些特殊字符。我不确定如何将它们合并到正常的正则表达式模式字符串中。具体而言,我需要测试,看看是否一个字符串包含“+/-'...正则表达式模式与特殊字符
我用引号等尝试,但没有运气(我非常新的正则表达式)。我在C#4.0中编写了这个代码。
一个字符串的例子是 “3Z1Z +/- 5.5”
任何帮助深表感谢 - 感谢!
创建一个简单的正则表达式:如果此字符序列在字符串中的任何地方发现
foundMatch = Regex.IsMatch(SubjectString, @"\+/-");
将返回true。解释留给你做练习。
阅读全文here。
这些是special character列表的一部分(see also)。基本上,通过在它们前面添加反斜杠(\
)将它们添加到模式中。例如+
成为\+
^\+|\-$ # + or -
同样会去别的有特殊的含义,如.
,{
,}
,(
,)
,^
,$
,|
,[
,]
等
有虽然有一些例外。例如,创建一个类如当:[a-z]
连字符(-
)将具有特殊含义(从A到Z的所有字母)。所以如果你想要一个文字连字符,你必须逃避它(除非它是班级的最后一个字符)。例如
[a-z-A-Z] # hyphen should be escaped if you wanted a literal hyphen
[a-z\-A-Z] # the "correct" counter-part
[a-zA-Z-] # actually legal because it's inserted as the last character
# and therefor treated as a literal hyphen despite not being
# escaped.