在PHP Regex中匹配所有不是以特定字母(或符号)开头的单词

  • 本文关键字:符号 单词 开头 Regex PHP php regex
  • 更新时间 :
  • 英文 :


我有一个字符串,我想与php正则表达式匹配。

$string = "~word1 ~word2 ~word3 word4";

我想匹配所有不是以~sign开头的单词。在php中,我已经尝试过了,但不适用

preg_match("/(?!~)(?<words>[a-zA-Z0-9._])/i", $string, $matches);
var_dump($matches);

但它不起作用。

为此,您可以使用带有负查找的正则表达式:

~(?<!~)bw[w.-]*~

RegEx演示

RegEx详细信息:

  • (?<!~):如果~位于前一位置,则反向查找将使匹配失败
  • b:字边界
  • w:匹配单词字符
  • [w.-]*:匹配0个或多个字字符或.-

您可以在左侧设置空白边界,并且只匹配字符类中允许的字符。

请注意,您必须重复字符类,否则将匹配单个字符。

(?<!S)(?<words>[a-zA-Z0-9._]+)

Regex演示

相关内容

最新更新