Regex 解析\(|.*)”等太多了)';s
我在写这篇文章时收到了这个错误Regex 解析\(|.*)”等太多了)';s,regex,Regex,我在写这篇文章时收到了这个错误 parsing "\(|.*?)|)" - Too many )'s. 我想要这两件事的正则表达式1-{Text}2-|Text |我想要能够得到那些匹配项并用一些东西替换它们……有人能帮忙吗?你在逃避(而不是)你还没有说它是哪种风格的正则表达式,但是(和)的可能性很大是分组运算符。表达式的括号不匹配: private static Regex resourceTextsREGEX = new Regex(@"\(|.*?)|)", RegexOptions.
parsing "\(|.*?)|)" - Too many )'s.
我想要这两件事的正则表达式1-{Text}2-|Text |我想要能够得到那些匹配项并用一些东西替换它们……有人能帮忙吗?你在逃避
(
而不是)
你还没有说它是哪种风格的正则表达式,但是(
和)的可能性很大
是分组运算符。表达式的括号不匹配:
private static Regex resourceTextsREGEX = new Regex(@"\(|.*?)|)", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.IgnoreCase);
…如果您根本不想创建一个组,而只是想匹配parens。试试这个
@"\(|.*?\)|\)"
^ ^ ^
+-----+--+--- escapes everywhere
这将匹配
{text}
,{text}
和非与{}
,{text}
,{text}根据您的示例,您可能需要这样的匹配
static Regex resourceTextsREGEX = new Regex(@"({)([^}{\|]+)(})|(\|)([^}{\|]+)(\|)", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.IgnoreCase);
看到了吗
所以您想要匹配
1.{Text}
2.|文本|
我的正则表达式一开始是匹配的
[{{124;]
要么是{
要么是
然后是一个捕获组,它使用惰性匹配(.*)
最后,结束字符被匹配[|}]
意味着}
或
如果我理解正确,您要求正则表达式匹配“{some text here}”和“| some text here |”
(\{.*.\}\\\\\\\\\\)
应该可以做到这一点;它匹配一对花括号内的任何内容(使用非贪婪量词)或一对垂直条内的任何内容(同样是非贪婪量词),并带有一对分组括号,以便您可以查看或替换匹配
当然,如果您不想匹配“{}”或“| |”,只需将每个星号(*)替换为加号(+).您已经使用SO七个月了,并问了15个以前的问题。恕我直言,您现在应该已经正确设置了格式。请参阅问题编辑框右侧的“如何设置格式”便利框、下面的预览以及上面的[?]链接。这是什么语言?什么是“8小时26分钟前”在您的消息中?此模式还将匹配“{Text}”和“{Text}”。
@"\(|.*?\)|\)"
^ ^ ^
+-----+--+--- escapes everywhere
static Regex resourceTextsREGEX = new Regex(@"({)([^}{\|]+)(})|(\|)([^}{\|]+)(\|)", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.IgnoreCase);
[{|](.*?)[|}]