我有以下字符串:
p = 1A测试$ A123
我需要正则表达式才能获得“A123”,请考虑以下内容:
任何想法?
答案 0 :(得分:0)
使用捕获组:
使用Javascript:
'a=3$bcc,p=1A Testing$A123'.match(/p=.*\$(\w+)/)[1]
// => "A123"
的Python:
>>> import re
>>> re.search(r'p=.*\$(\w+)', r'a=3$bcc,p=1A Testing$A123').group(1)
'A123'
答案 1 :(得分:0)
使用Javascript:
答案 2 :(得分:0)
这应该有效:
/^\p=[^$]*\$[A-Z]\d+$/
答案 3 :(得分:0)
您的正则表达式应该类似于:p=.*\$(\w+[0-9]*)
p= matches the p=
.* matches any character greedily
\$ matches the $
(\w+[0-9]*) matches a capture group: \w+ (a group of least one characters) followed by [0-9]* (a group of numbers (optional))
如果$后面的字符后面至少有一位数字,请将[0-9] *更改为[0-9] +。
答案 4 :(得分:0)
.*?p=[^$]*\$([a-z].*)$
使用您想要使用的模式更改捕获组([a-z].*)
以匹配输入的结尾。
例如,
([a-z]\d*)
:以[a-Z]开头,后跟一系列小数0次或更多次。([a-z]\d{3})
:以[a-Z]开头,后跟一系列小数正好3次。