在openjudge做题中遇到的问题,题目要求如下:
题目要求的模式串以
<X>
```开头,
```python
</X>
结尾,中间内容不限,而且X为不为零的小写字母,字符数量不限。
根据提示的思路可以用正则表达式分组来求解,只是目前仅能得到部分内容,不能满足题目要求,求指点。
import re
n = int(input())
m = '(<\\w+>).*?((\\(\\d{1,2}\\))-\\d{3})+?.*?(</\\w+>)'
for i in range(n):
s = input()
lst = re.findall(m, s)
print(lst)
样例输入:
2
<bb>(01)-123<a>bbb(02)-2784KK</a><xy>stk(1)-123(03)-345b</xy>(04)-123</xy><z>(05)-123</zz>zz<yy>(06)-123</yy>
<bb>(01)-123<a><k>1223</k><a>(01)-12</a>
我的程序输出:
[('', '(01)-123', '(01)', ''), ('', '(1)-123', '(1)', ''), ('', '(05)-123', '(05)', ''), ('', '(06)-123', '(06)', '')]
[('', '(01)-123', '(01)', '')]
样例输出:
<xy>1,03</xy>
<yy>06</yy>
NONE