-1

如果我有一个字符串

This is a @really nice#day.

第一次通过时,我应该得到一个输出/结果单词reallyday(结果不应该包含点或任何其他标点符号,你也不应该只匹配 AZ、az 和其他所有内容,因为字符串可能包含国际字符,所以请记住这一点) .

第二遍时,除了这两个单词和 ex 的标点符号之外,我应该把所有东西都写出来。

This is a nice

RegEx 是通过PHP.

编辑: @hochl 的问题([@#]\w+)是它不能像šđžćč这样捕获国际字符,因此#dayš只能识别为#day.

4

1 回答 1

2

要捕捉国际字符,您可以使用以下内容:

[@#]\p{L}+

您需要使用 unicode 修饰符/u才能在 php 中工作。

笔记:

  • \p{L}告诉它匹配 unicode “字母”
  • 您不需要将整个内容括在括号中(),因为整个匹配始终是第一组
于 2012-04-11T10:42:33.397 回答