繁体   English   中英

正则表达式匹配数值

[英]regular expression match numeric value

我正在尝试匹配一个模式:

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
  1. 如何正确匹配数字部分?
  2. 另一个问题是值575可以包含任何数字值,我的正则表达式在3位数字后将不起作用,我如何使其与无限数量的数字一起使用

您没有指定要使用的语言,因此这里只是regex

'([^']+)'

说明

'       # Match a single quote
([^`])+ # Capture anything not a single quote
'       # Match the closing single quote 

因此,基本上,它使用单引号捕获所有内容, show_clipping.php?CLIP_id=5在第一个捕获组中。

在这里看到它的动作

只捕获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

答案:^(0 | [1-9] [0-9] *)$之前回答: 数字的正则表达式

(第6个答案)

那这个呢?

onclick.match(/show_clipping\.php\?CLIP_id=\d+/)
["show_clipping.php?CLIP_id=575"]

(根据您问题的标签,我认为您正在使用JavaScript)

show_clipping.php\?CLIP_id=(\d+)

\\d匹配一个数字, +表示其中1个或多个。

怎么样:

/(show_clipping.php\?CLIP_id=[1-9]\d*)/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM