我有一个类型的文本:
我需要提取:或=之后的所有内容
我试过这样做:
import regex as re
r = re.compile(r'Choice(.+?)selected')
r.split(str)我不知道如何捕捉:或=
发布于 2019-05-02 10:32:18
您不需要使用regex,只需使用re.split在:和=上拆分
li = ["Choice values selected: Option 1, or Option 2, or Option 3", "Choice value selected: Option 1, or Option 2, or Option 3",
"Choice value selected = Option 1 , or Option 2, or Option 3"]
import re
for item in li:
#Split on : and =, get the last element from list and strip it
print(re.split(':|=',item)[1].strip())输出将是
Option 1, or Option 2, or Option 3
Option 1, or Option 2, or Option 3
Option 1 , or Option 2, or Option 3发布于 2019-05-02 10:28:39
你可以用这个正则表达式,
[:=]\s*(.*)并从group1中获取您的价值
此正则表达式从捕获:或=开始,然后选择\s*匹配可选空间,然后(.*)捕获行中的其余文本并在group1中捕获。
Python代码,
import regex as re
arr = ['Choice values selected: Option 1, or Option 2, or Option 3','Choice value selected: Option 1, or Option 2, or Option 3','Choice value selected = Option 1 , or Option 2, or Option 3']
for s in arr:
m = re.search(r'[:=]\s*(.*)', s)
if m:
print(s, '-->', m.group(1))产出,
Choice values selected: Option 1, or Option 2, or Option 3 --> Option 1, or Option 2, or Option 3
Choice value selected: Option 1, or Option 2, or Option 3 --> Option 1, or Option 2, or Option 3
Choice value selected = Option 1 , or Option 2, or Option 3 --> Option 1 , or Option 2, or Option 3此外,如果您想使用re.split,则可以使用[=:] regex将其拆分,该正则表达式表示=或:。
import regex as re
arr = ['Choice values selected: Option 1, or Option 2, or Option 3','Choice value selected: Option 1, or Option 2, or Option 3','Choice value selected = Option 1 , or Option 2, or Option 3']
for s in arr:
r = re.compile(r'[:=]')
print(r.split(s)[1])产出,
Option 1, or Option 2, or Option 3
Option 1, or Option 2, or Option 3
Option 1 , or Option 2, or Option 3https://stackoverflow.com/questions/55950415
复制相似问题