1<assume tab here>Algebra I<assume tab here>START
1.1 What are the Basic Numbers? 1-1
Run Code Online (Sandbox Code Playgroud)
对于上面两行中的每一行,我如何正则表达式只匹配包括"?"在内的数字.从本质上讲,我想要以下几组:
["1", "Algebra I"]
["1.1", "What are the Basic Numbers?"]
Run Code Online (Sandbox Code Playgroud)
匹配所有内容,包括问号,或最多为"制表符".如何使用单个正则表达式执行此操作?
这是一个简单的正则表达式:
^([\d.]+)\s*([^\t?]+\??)
Run Code Online (Sandbox Code Playgroud)
第1组是数字,第2组包含文本.

要检索一个匹配:
match = re.search(r"^([\d.]+)\s*([^\t?]+\??)", s)
if match:
mynumbers = match.group(1)
myline = match.group(2)
Run Code Online (Sandbox Code Playgroud)
要迭代匹配,请从以下位置获取组1和组2:
reobj = re.compile(r"^([\d.]+)\s*([^\t?]+\??)", re.MULTILINE)
for match in reobj.finditer(s):
# matched text: match.group()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |