PHP正则周期

PHP正则周期,php,regex,Php,Regex,如何将句点放入PHP正则表达式中 代码中使用它的方式是: echo(preg_match("/\$\d{1,}\./", '$645.', $matches)); 但显然,$645.中的时间段无法识别。请求有关如何进行此操作的提示。跳过它。句点在正则表达式中有一个特殊的含义,因为它代表任何字符——它是一个通配符。要表示和匹配文字,需要通过反斜杠\对其进行转义,即\. /[0-9]\.[ab]/ 匹配数字、句点和“a”或“ab”,而 匹配一个数字、任何单个字符1和“a”或“ab” 请注意,PH

如何将句点放入PHP正则表达式中

代码中使用它的方式是:

echo(preg_match("/\$\d{1,}\./", '$645.', $matches));

但显然,
$645.
中的时间段无法识别。请求有关如何进行此操作的提示。

跳过它。句点在正则表达式中有一个特殊的含义,因为它代表任何字符——它是一个通配符。要表示和匹配文字
,需要通过反斜杠
\
对其进行转义,即
\.

/[0-9]\.[ab]/
匹配数字、句点和“a”或“ab”,而

匹配一个数字、任何单个字符1和“a”或“ab”

请注意,PHP也将反斜杠用作双引号字符串中的转义字符。在这些情况下,您需要双重逃避:

$single = '\.';
$double = "\\.";
更新
echo(preg\u match(“/\$\d{1,}./”,“$645.”,$matches))可以重写为echo(preg\u match('/\$\d{1,}\./','$645',$matches))
回显(预匹配(“/\\$\\d{1,}\\./”,“$645.”,$matches))。他们



1) 非换行符,除非通过
s
修饰符进行配置。

由于
是一个特殊字符,您需要对其进行转义,才能将其逐字显示出来,因此
\。


如果要在字符串中使用转义字符,请记住也要转义它。因此,如果您想在字符串声明中编写正则表达式
foo\.bar
,它必须是
“foo\\.bar”

,我得到的是/\$[0-9]{1,}./但当我放入$645时。它不识别正则表达式。“我12岁,这是什么?”啊,@Gumbo也详细阐述了他的答案:(那么它怎么不知道我的弦上的结束时间?@TOKYOTRIBE4EVAR请在你的问题正文中添加一些例子。另外,你是认真的吗?(“我12岁,这是什么?”)哈哈,不,这只是我今天在我学校的/b/俱乐部学到的一个新的模因。我拥有的是/\$\d{1,}\/但当我输入$645时,它不识别周期上的正则表达式。我12岁,这是什么?@Tokyotibe4evar:你如何使用这个正则表达式?echo(preg_match(“/\$\d{1,}\./”,“$645.”,$matches));@Tokyotibe4evar:注意,
preg_match
只返回是否找到匹配项(无论是
1
还是
0
)。您需要查看数组
$matches
以查看匹配的内容。它返回了0,这意味着没有匹配项。我的经期转义是否有问题,或者我只是被很难控制?(旁注)省略号不是三个点字符,
,而是关于关闭/重新打开的单个
:通过OP的编辑,这现在是一个比较完整的问题。然而,我建议OP减少了问题和评论中的利特语和/或迟钝。
$single = '\.';
$double = "\\.";