我正在尝试匹配一个模式:
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
如何正确匹配数字部分?
另一个问题是值575可以包含任何数字值,我的正则表达式在3位数字后将不起作用,我如何使其与无限数量的数字一起使用
最佳答案
您没有指定使用的语言,所以这里只是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