rulex = ['(sin+\*\*\(\d\)*\d*x+\*\*\(\d\)*)'] 为啥不能匹配呢?
python s = '{(-2x)sin3x}'
rulex = ['(sin+\d*x+)']
正则能匹配成功
s = '{(-2x)sin**(3)3x**(3)}'
rulex = ['(sin+\*\*\(\d\)*\d*x+\*\*\(\d\)*)']
正则也能匹配成功
s = '{(-2x)sin3x}'
rulex = ['(sin+\*\*\(\d\)*\d*x+\*\*\(\d\)*)']
为啥不能匹配呢
\*\*\(\d\)*这个作为一个整体是可能出现零次或者N次的.
我是哪里理解错了呢?
s = '{(-2x)sin3x}'
s = '{(-2x)sin**(3)3x**(3)}' 目的的是希望一个正则能同时匹配以上2个字符串
回答:
觉得有很多问题,你前面的都可能有错的。
s = '{(-2x)sin3x}'rulex = ['(sin+\d*x+)']
中 ['(sin+\d*x+)']
是匹配 sin3x
,sinnx
,sinnn3x
之类,里面的第一个+
是修饰n
的。你想修饰sin
需要 (sin)+
此外里面的(
是需要转义的。
你可以试一下: ['\((sin)+(\*\*\(\d+\))?\d*x+(\*\*\(\d+\))?\)']
估计你对规则式中组的概念还有混淆。
以上是 rulex = ['(sin+\*\*\(\d\)*\d*x+\*\*\(\d\)*)'] 为啥不能匹配呢? 的全部内容, 来源链接: utcz.com/p/938583.html