我正在尝试匹配模式:
show_clipping.php?CLIP_id=*
从:
a href="javascript:void(0);" onclick="MM_openBrWindow('show_clipping.php?CLIP_id=575','news','scrollbars=yes,resizable=yes,width=500,height=400,left=100,top=60')">some text</a>
其中
*
只能是数值(例如:0,1,1234)
结果必须返回整个事物(show_clipping.php?CLIP_id=575
)
我尝试了什么:
show_clipping.php\?CLIP_id=([1-9]|[1-9][0-9]|[1-9][0-9][0-9])
但我的尝试会截断575的其余数字,结果如下:
show_clipping.php?CLIP_id=5
答案 0 :(得分:2)
您没有指定您使用的语言,因此这里只是regex
:
'([^']+)'
解释
' # Match a single quote
([^`])+ # Capture anything not a single quote
' # Match the closing single quote
所以基本上它用单引号捕获所有内容,show_clipping.php?CLIP_id=5
位于第一个捕获组中。
请参阅操作here.
要仅抓取show_clipping.php?CLIP_id=5
,我会'(.*CLIP_id=[0-9]+)'
' # Match a single quote
(.* # Start capture group, match anyting
CLIP_id= # Match the literal string
[0-9]+) # Match one of more digit and close capture group
' # Match the closing single quote
答案 1 :(得分:1)
答案: ^(0 | [1-9] [0-9] *)$ 之前回答: Regex pattern for numeric values
(答案编号6)
答案 2 :(得分:1)
这个怎么样?
onclick.match(/show_clipping\.php\?CLIP_id=\d+/)
["show_clipping.php?CLIP_id=575"]
(从你的问题的标签我假设你正在使用JavaScript)
答案 3 :(得分:0)
show_clipping.php\?CLIP_id=(\d+)
\d
匹配一个数字,+
表示其中一个或多个。
答案 4 :(得分:0)
怎么样:
/(show_clipping.php\?CLIP_id=[1-9]\d*)/