【问题标题】:Python regex return binary value based on compiled patternPython 正则表达式根据编译模式返回二进制值
【发布时间】:2021-07-08 03:03:26
【问题描述】:

我有一个正则表达式可以从给定的字符串中提取数字

import re
compiled_pattern = re.compile(r'\d+')
sample = "Hello world 32"

print(compiled_pattern.findall(sample))

输出:

['32']

但是如果字符串中有数字,是否可以返回1,否则返回0?本质上,1 如果字符串中的模式匹配,则0 否则。所以在这种情况下,操作应该是1。任何建议都会有所帮助

【问题讨论】:

  • print (1 if compiled_pattern.search(sample) else 0)?
  • @41686d6564 请将其作为答案发布,我可以接受。
  • 如果对您有帮助,您可以继续接受现有答案;没关系:)

标签: python-3.x regex


【解决方案1】:

是的,您可以测试正则表达式是否找到了该模式。例如:

def match_or_not(sample):
    compiled_pattern = re.compile(r'\d+')
    match = compiled_pattern.findall(sample)
    return 1 if match else 0

for sample in ["Hello world 32", "Hello again"]:
    print(match_or_not(sample))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2013-01-23
    • 2013-08-18
    • 1970-01-01
    • 2018-07-29
    • 2018-11-24
    相关资源
    最近更新 更多