我正在编写一个正则表达式来从 html 字符串中提取类似#Question1#或 的短语#Question125#
患者姓名#Question1#,患者患有#Question2#,患者性别为#Question3#,患者上个月有#Question4#饮酒。他的出生日期是#Question5#
表达式的前半部分很简单#Question,但我还需要匹配一系列未指定长度的数字,并且整个字符串以#结尾。
一旦找到匹配的短语,如何从字符串中仅提取数字?比如#Question312#,我只想得到312?
有什么建议吗?
您正在寻找的正则表达式是
/#Question[0-9]+#/
Run Code Online (Sandbox Code Playgroud)
如果需要提取数字,只需将[0-9]+部分括在括号中即可
/#Question([0-9]+)#/
Run Code Online (Sandbox Code Playgroud)
使其成为一个团体。如何使用捕获的组取决于特定的正则表达式实现(例如 python、perl、javascript ...)。例如,在 python 中,您可以将所有这些问题替换为列表中的相应答案
answers = ["Andrea", "Griffini"]
text = "My first name is #Question1# and my last name is #Question2#"
print re.sub("#Question([0-9]+)#",
lambda x:answers[int(x.group(1)) - 1],
text)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11891 次 |
| 最近记录: |