如何为-1:+1模式制作正则表达式,其中 1 是任何整数?
我需要在 preg_match() 中使用它,但我的正则表达式技能没有......
使用以下正则表达式
-\d+:\+\d+
它匹配 a-
后跟一个或多个数字,后跟:
a+
后跟一个或多个数字。
如果您希望两者都是相同的整数,请使用以下内容
-(\d+):\+\1
<?php
$subject = "-100:+100";
$pattern = '/-\d+:\+\d+/';
preg_match($pattern, $subject, $matches);
print_r($matches);
?>
\d 表示数字,+ 表示前面的一个或多个,所以 \d+ 是一个或多个数字,依此类推
未测试
您可以将单个数字与\d
. 对于 1 个或多个数字,请使用\d+
. \-
您必须转义其他字符,因此\+
要匹配这些字符。但我建议阅读您正在使用的语言的正则表达式教程——它并不像看起来那么难!
如果您需要实数(例如不应匹配 001),请使用此模式
/-([1-9]\d*|0):\+([1-9]\d*|0)/
|
表示或
[1-9]
表示 1 到 9(含)之间的数字之一
\d*
表示数字 0 次或多次