我需要在C#中使用正则表达式的一些建议。 我想要匹配的是2个字符(方括号)之间的所有内容,但只有当某些字符(,;)不在方括号之间时,我才想排除这些字符。
换句话说,我需要在一个正则表达式中组合两个表达式。 我有这个:[(。*?)] 而另一个:[^,;]
这两个表达式在隔离时效果很好,但我需要两者的结合 我还没有把它们组合在一个单独的表达式中,如果我可以做这样的事情会很好[(。*?)] & [^,;]但它不起作用
这里有一些关于我需要的实际例子:
... [text1] ...:匹配:[text1]
... [text text2] ...:匹配:[text text2]
... [text,text2] ...:不匹配!
... [text; text2] ...:不匹配!
请您提出任何建议都非常有用。
非常感谢
答案 0 :(得分:1)
你试过@"\[([^,;]+?)\]"
吗?
答案 1 :(得分:0)
尝试@“\ [[^,;] * \]”
另外,试试http://regexpal.com/。
答案 2 :(得分:0)
使用替换:这是一个示例
$test = preg_replace('/\[.*?\]|[\[\]=]/', '', $test);
这里的排序很重要,因此首先匹配括号及其内容将被删除。只要没有嵌套括号,这应该可以正常工作。