0

如何为-1:+1模式制作正则表达式,其中 1 是任何整数?

我需要在 preg_match() 中使用它,但我的正则表达式技能没有......

4

4 回答 4

2

使用以下正则表达式

-\d+:\+\d+

它匹配 a-后跟一个或多个数字,后跟:a+后跟一个或多个数字。

如果您希望两者都是相同的整数,请使用以下内容

-(\d+):\+\1
于 2013-01-24T13:29:17.783 回答
1
<?php
$subject = "-100:+100";
$pattern = '/-\d+:\+\d+/';
preg_match($pattern, $subject, $matches);
print_r($matches);
?>

\d 表示数字,+ 表示前面的一个或多个,所以 \d+ 是一个或多个数字,依此类推

未测试

于 2013-01-24T13:25:23.040 回答
1

您可以将单个数字与\d. 对于 1 个或多个数字,请使用\d+. \-您必须转义其他字符,因此\+要匹配这些字符。但我建议阅读您正在使用的语言的正则表达式教程——它并不像看起来那么难!

于 2013-01-24T13:27:38.067 回答
0

如果您需要实数(例如不应匹配 001),请使用此模式

/-([1-9]\d*|0):\+([1-9]\d*|0)/

|表示或
[1-9]表示 1 到 9(含)之间的数字之一
\d*表示数字 0 次或多次

于 2013-01-24T13:28:43.127 回答