gpt4 book ai didi

php - 获取重音 preg_match_all 语法 PHP

转载 作者:可可西里 更新时间:2023-11-01 00:58:57 24 4
gpt4 key购买 nike

我有这个 preg_match_all 来获取主题标签:

  preg_match_all('/(^|[^a-z0-9_])#([a-z0-9_]+)/ui', $text, $matchedHashtags);

它工作得很好,但如果发现一些强调就会停止:

#hash //works
#hash_hash //works
#hash_não // get just $hash_n

我需要改变什么?

最佳答案

您可以使用 Unicode category 信件


正则表达式:

/(?<![\p{L}0-9_])#([\p{L}0-9_]+)/u

regex101 Demo

  • 另一种选择是在 character class 中简单地包含重音字符:

    /(?<![a-zãàÀèÈìÌ0-9_])#([a-zãàÀèÈìÌ0-9_]+)/ui

[编辑]


关于\p代币

当设置了 /u 标志时支持 Unicode。有一些匹配字母的替代方法,使用以下类别或脚本:

1。 \p{Latin} 拉丁脚本

  • 匹配项:Latin script characters来自英语、法语、德语、意大利语、越南语、拉丁语本身和其他几种语言(包括一些修饰字母和其他字母)。
  • 代码点:1,349

2。 \p{L&} 无大小写字母

3。 \p{L} 所有字母

4。 \p{Xan} 任何字母数字字符

  • 匹配:\p{L}\p{N} Number (来自任何脚本)。
  • 代码点:18,843 (18,057 + 786)

5。 \p{Xwd} 任何 Perl“单词”字符

  • 匹配:\p{Xan} 和下划线。
  • 代码点:18,844

关于php - 获取重音 preg_match_all 语法 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33026519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com