Php 选择正则表达式中具有特定字符的字符串
给出以下示例文本: 你好Php 选择正则表达式中具有特定字符的字符串,php,regex,Php,Regex,给出以下示例文本: 你好$NAME$你好吗?您正在访问此$LOGIN\u页面$页面 填写表格并登录 我只想选择以下“变量”$LOGIN\u PAGE$,甚至不选择$NAME字符 我让这个正则表达式试图获得结果,但它同时选择了两个字符串 (\$([A-Z\_])+\$) 此正则表达式中缺少哪一部分?下面的正则表达式将仅与字符串匹配,该字符串只有由下划线符号分隔的大写字母,其中字符串的开头和结尾为$ \$[A-Z]+_[A-Z]+\$ 你的PHP代码是 <?php $data = 'He
$NAME$
你好吗?您正在访问此$LOGIN\u页面$
页面
填写表格并登录
我只想选择以下“变量”$LOGIN\u PAGE$
,甚至不选择$NAME
字符
我让这个正则表达式试图获得结果,但它同时选择了两个字符串
(\$([A-Z\_])+\$)
此正则表达式中缺少哪一部分?下面的正则表达式将仅与字符串匹配,该字符串只有由下划线符号分隔的大写字母,其中字符串的开头和结尾为
$
\$[A-Z]+_[A-Z]+\$
你的PHP代码是
<?php
$data = 'Hello $NAME$ how are you? You are visiting this $LOGIN_PAGE$ page, please fill the form and log in.' ;
$regex = '~\$[A-Z]+_[A-Z]+\$~';
if (preg_match($regex, $data, $m)) {
$yourmatch = $m[0];
echo $yourmatch;
}
?> //=> $LOGIN_PAGE$
/=>$LOGIN\u页面$
为什么不使用(\$LOGIN\u PAGE\$)
?str\u替换(“$LOGIN\u PAGE$”、“/LOGIN'、$haystack)
也许吧?对于更特殊的字符串,更喜欢正则表达式。不清楚如果字符串是常量,那么为什么要使用正则表达式。