Python 如何编写正则表达式确保后面没有数字
我想要一个正则表达式,用Python 如何编写正则表达式确保后面没有数字,python,regex,Python,Regex,我想要一个正则表达式,用x替换x**1,但有一个问题。我写了这个正则表达式: r'\b[a-z][*]{2}1[ ]?' 但它将x**10'替换为x0` 我需要一个执行此过程的正则表达式,并确保1后面没有数字,如10或100使用否定的前瞻断言: (?!…)部分是前瞻;它声明它不能在数字(\d)后面的任何位置匹配 );注意只有第二行是如何匹配的(蓝色) Python演示: >>> import re >>> pattern = re.compile(r'\b[
x
替换x**1
,但有一个问题。我写了这个正则表达式:
r'\b[a-z][*]{2}1[ ]?'
但它将x**10'替换为x0`
我需要一个执行此过程的正则表达式,并确保1
后面没有数字,如10
或100
使用否定的前瞻断言:
(?!…)
部分是前瞻;它声明它不能在数字(\d
)后面的任何位置匹配
);注意只有第二行是如何匹配的(蓝色)
Python演示:
>>> import re
>>> pattern = re.compile(r'\b[a-z][*]{2}1(?!\d)')
>>> pattern.search('x**1')
<_sre.SRE_Match object at 0x10869f1d0>
>>> pattern.search('x**10') is None
True
>>> pattern.search('x**10') is None
>>重新导入
>>>pattern=re.compile(r'\b[a-z][*]{2}1(?!\d))
>>>pattern.search('x**1')
>>>模式搜索('x**10')为无
真的
>>>模式搜索('x**10')为无
我不明白您希望实现什么—将实际输入与预期输出放在一起。
>>> import re
>>> pattern = re.compile(r'\b[a-z][*]{2}1(?!\d)')
>>> pattern.search('x**1')
<_sre.SRE_Match object at 0x10869f1d0>
>>> pattern.search('x**10') is None
True
>>> pattern.search('x**10') is None