python - 如何在Python中提取特定模式

标签 python regex python-3.x pattern-matching

我是Python新手
我想提取 python 3.5 中的特定模式
模式:数字字符数字
字符可以是 * + -/x X

我该怎么做?

我尝试使用模式 [0-9\*/+-xX\0-9] 但它返回字符串中存在的任一字符。

示例:2*3 或 2x3 或 2+3 或 2-3 应匹配
但 asdXyz 不应该

最佳答案

您可以使用

[0-9][*+/xX-][0-9]

或者匹配整个字符串:

^[0-9][*+/xX-][0-9]$

在 Python 3.x 中,如果您使用 re.fullmatch 中的模式( 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!

关于python - 如何在Python中提取特定模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42851106/

相关文章:

python - 在 SQL 查询中多次使用同一变量。 Python 代码?

python - 如何在 findall() 函数返回的列表上运行 sub() 函数?

python-3.x - joinedload 一对多关系导致每个 child 的重复父结果

javascript - Q>javascript 正则表达式模式

python - 我们可以根据特定单词过滤数据吗?

带有 if 语句的 python exec()

python - while循环不会停止

python - 从Excel中的矩阵列表在python中创建3D数组

regex - 如何在 Perl 中安全地验证不受信任的正则表达式?

java - 如何在 Java 中格式化非纯日期?