如果我有一个字符串
This is a @really nice#day.
在第一次传递时,我应该得到输出/结果字really
和day
(结果不应包含点或任何其他标点符号,也不应该只是匹配AZ,az和其他一切都忽略,因为字符串可以包含国际字符,所以请记住这一点。
在第二次传递时,除了那两个单词和标点符号外,我应该把所有内容都拿出去。
This is a nice
RegEx通过PHP
完成。
编辑: @hochl
([@#]\w+)
的问题在于它不会捕获šđžćč
等国际字符,因此#dayš
仅被识别为#day
。
答案 0 :(得分:2)
要捕捉国际字符,您可以使用以下内容:
[@#]\p{L}+
您需要使用unicode修饰符/u
才能在php中使用。
注意:
\p{L}
告诉它匹配unicode“letters”()
中,因为整个匹配始终是第一组