如何使用AND(JavaScript)匹配具有多个unicode属性的Regex?

ars1skjm  于 2023-01-03  发布在  Java
关注(0)|答案(1)|浏览(94)

我想通过正则表达式匹配字符:

  • /\p{Script=Han}/gu/\p{Alphabetic}/gu

这意味着:

  • 匹配,既有汉字又有字母
  • 不匹配,它是字母但不是汉字
  • 不匹配,是汉字但不是字母(是部首)

理想情况下,有人可以告诉我如何使用基于浏览器的JavaScript。
附言:
我以前用过这个:/[\u4e00-\u9faf\u3400-\u4dbf]/g
但问题是它不能匹配所有的汉字,比如,所以我宁愿使用/\p{Script=Han}/gu,但避免使用任何非字母字符,比如部首等。

lp0sw83n

lp0sw83n1#

您可以使用肯定的前瞻Assert来仅匹配与Han匹配的字母结果,如下所示:

const expr = /(?=\p{Script=Han})\p{Alphabetic}/gu;

我相信这会提供您所需的输出

相关问题