2024-04-25 05:05:43 发布
网友
我是python新手 我想在python3.5中提取特定的模式 图案:数字字符数字 字符可以是*+-/x
我该怎么做?你知道吗
我尝试使用模式[0-9\*/+-xX\0-9],但它返回字符串中的任一字符。你知道吗
示例:2*3或2x3或2+3或2-3应匹配 但是asdXyz不应该
re.match()函数将搜索限制在字符串的开头和结尾,以防止误报。你知道吗
\d
[x/+\-]
x
/
+
-
例如:
>>> re.match(r'(\d)([x/+\-])(\d)', '3/4').groups() ('3', '/', '4')
你可以用
[0-9][*+/xX-][0-9]
或匹配整个字符串:
^[0-9][*+/xX-][0-9]$
在Python3.x中,如果使用^{}(demo)中的模式,则可以放弃^(字符串锚定的开始)和$(字符串锚定的结束):
^
$
if re.fullmatch(r'[0-9][*+/xX-][0-9]', '5+5'): print('5+5 string found!') if re.fullmatch(r'[0-9][*+/xX-][0-9]', '5+56'): print('5+56 string found!') # => 5+5 string found!
re.match()函数将搜索限制在字符串的开头和结尾,以防止误报。你知道吗
\d
匹配。你知道吗[x/+\-]
匹配,后者正好匹配x
、/
、+
或-
(因为它是一个特殊的regex字符而转义)。你知道吗\d
匹配。你知道吗例如:
你可以用
或匹配整个字符串:
在Python3.x中,如果使用^{} (demo)中的模式,则可以放弃
^
(字符串锚定的开始)和$
(字符串锚定的结束):相关问题 更多 >
编程相关推荐