Php 创建正则表达式以空格后跟字符串长度8精确匹配单词
我对正则表达式非常陌生,我想检查一个句子,该句子与精确给定的单词匹配,后跟空格,字母数字字符串以数字开头,该字符串的长度应为8。从下面的表达式中,我得到1作为结果,并匹配PO。但我不知道如何创建规则来匹配PO,然后是空格,并以第一个字母数字和长度为8个字符的字符串开始。任何帮助都将不胜感激Php 创建正则表达式以空格后跟字符串长度8精确匹配单词,php,regex,string,Php,Regex,String,我对正则表达式非常陌生,我想检查一个句子,该句子与精确给定的单词匹配,后跟空格,字母数字字符串以数字开头,该字符串的长度应为8。从下面的表达式中,我得到1作为结果,并匹配PO。但我不知道如何创建规则来匹配PO,然后是空格,并以第一个字母数字和长度为8个字符的字符串开始。任何帮助都将不胜感激 $header = 'Amazon.fr PO 2YCLN4EM'; $k = preg_match("/[PO]*/", $header); echo $k; 尝试如下 使用\d和精确匹配7次 尝试如下
$header = 'Amazon.fr PO 2YCLN4EM';
$k = preg_match("/[PO]*/", $header);
echo $k;
尝试如下
使用\d
和精确匹配7次
尝试如下
使用\d
和精确匹配7次
请注意,该函数仅返回是否匹配。第三个参数包含匹配项
请注意,该函数仅返回是否匹配。第三个参数包含匹配项。对于reference for reference,挑剔:\s表示任何空格字符,不一定只有空格。挑剔:\s表示任何空格字符,不一定只有空格。
\w
将匹配数字和字母。所以不需要把\d\w
实际上,你是对的!我从\dA-Z模式开始,然后将A-Z更改为\w。我编辑了答案。微小的改进:OP希望“匹配精确给定的单词,后跟空格…”,精确给定的单词是PO
。因此,为了排除PO
是单词的后缀,在正则表达式中添加一个起始锚/非单词字符匹配:/(^ |\W)PO\\d\W{7}/
@collapsar这可能是他想要的,但我认为在“匹配PO后跟空格”中没有说明:@BeS是的,我从他的文章的第一行获取了规范…:)<代码>\w将匹配数字和字母。所以不需要把\d\w
实际上,你是对的!我从\dA-Z模式开始,然后将A-Z更改为\w。我编辑了答案。微小的改进:OP希望“匹配精确给定的单词,后跟空格…”,精确给定的单词是PO
。因此,为了排除PO
是单词的后缀,在正则表达式中添加一个起始锚/非单词字符匹配:/(^ |\W)PO\\d\W{7}/
@collapsar这可能是他想要的,但我认为在“匹配PO后跟空格”中没有说明:@BeS是的,我从他的文章的第一行获取了规范…:)
/PO\s\d\w{7}/
$header = 'Amazon.fr PO 2YCLN4EM';
if (preg_match('/PO\ \d\w{7}/', $header, $matches)) {
print_r($matches);
}