【发布时间】:2013-05-07 20:32:33
【问题描述】:
我有一个正则表达式,想忽略字符串中的任何 '(撇号)。正则表达式讨论可以在讨论中找到String manipulation: How to replace a string with a specific pattern
RegEx: \\(\\s*'(?<text>[^'']*)'\\s*,\\s*(?<pname>[\\w\\[\\]]+)\\s*\\)
基本上,提供的 RegEx 在 {text} 包含 '(撇号)的情况下不起作用。您能否让 RegEx 忽略 {text} 中的任何撇号?
For eg:
substringof('B's',Name) should be replaced by Name.Contains("B's")
substringof('B'',Name) should be replaced by Name.Contains("B'")
substringof('''',Name) should be replaced by Name.Contains("'")
欣赏!!谢谢。
【问题讨论】:
-
看起来您要搜索的字符串类似于:
( 'foo' , bar[]baz[] )注意:您似乎需要在字符串末尾添加撇号'。如果您想“忽略”撇号,请尝试以下操作:([^'][']?)+这意味着,预期的字符集后跟可选撇号,然后重复 1 次或多次。 -
好的,会尝试并通知您
-
谢谢,但很抱歉这不起作用
-
奇怪,
'\([^'][']\?\)\+'在 vim 中运行良好。然而,它本身将与'B'或'B's'匹配得很好。 -
抱歉,我不明白您为什么要将
''''替换为"'"而不是"''"?
标签: c# regex string string-matching substring