用python编写正则表达式
我一直在尝试为此编写正则表达式,但到目前为止未能成功用python编写正则表达式,python,regex,python-2.7,Python,Regex,Python 2.7,我一直在尝试为此编写正则表达式,但到目前为止未能成功 _ any thing\_ fdfdf \_ any thing_ 然后在所有字符下划线,直到 \\是转义字符,因此正则表达式必须接受如下字符串 _ any \_ thing _ 以下字符串: checking_ happens \_ ano\_ther _ test of bold _ and escape \_asteric 应提供: _ happens \_ ano\_ther _ 到目前为止,我只能得出以下结论: (\\_)|
_ any thing\_ fdfdf \_ any thing_
然后在所有字符下划线,直到
\\
是转义字符,因此正则表达式必须接受如下字符串
_ any \_ thing _
以下字符串:
checking_ happens \_ ano\_ther _ test of bold _ and escape \_asteric
应提供:
_ happens \_ ano\_ther _
到目前为止,我只能得出以下结论:
(\\_)|_[^_]*[\\_]*[_]
这就是工作:
(?<!\\)(?:\\\\)*_((?:[^_\\]|\\.)+)_
(?
分解它:
(?-匹配偶数个反斜杠,前面没有更多反斜杠
。
-后跟下划线
(((?:[^\u\\]\ 124;\\)+)
-匹配以下1次或多次
[^ \\]
-除下划线或反斜杠以外的任何字符
\.
-任何反斜杠/字符对(例如\\
或\
)
。
-匹配尾随下划线
这将捕获第一组中下划线之间的字符串。您是否可以更清楚地了解输入和所需输出?您是否可以更具体一些?您是否希望“any”thing返回any或any?您是否对stackoverflow标记有问题?如果缩进示例4个空格,标记将不会触及uNDERSCORE或反斜杠。感谢@Eric我在stackoverflow降价方面遇到了问题。我现在在问题中添加了更多细节。再次感谢@Eric。在开始使用(?(?:…)时忽略\\的想法很好。
与(…)
,但不创建捕获组。另外,我一开始也不会忽略\\\\
:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
将失败。@hajidon:好的,现在它适用于\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。。。