这是一个匹配正则表达式的程序
string="Mozilla/5.0 (Series40; NOKIA311/03.81; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.31";
regex=/(nokia).*([a-zA-Z0-9]+)/i
regex.exec(string)
我的问题是它与NOKIA和311
不匹配任何人都可以帮助。请
答案 0 :(得分:2)
问题是.*
,它试图尽可能地匹配。它实际上最终匹配字符串的其余部分,并且只从最末端离开1
以满足[a-zA-Z0-9]+
。你可能需要更具体的正则表达式:
/nokia(\d+)/i
/nokia(.*?)\//i
.*?
使.*
不情愿,因此它只匹配第一个斜杠。
答案 1 :(得分:0)
使用正则表达式/NOKIA([\d\w]*)/i
哪个匹配模式NOKIA和任何没有空格的数字或单词