【发布时间】:2021-11-10 13:03:32
【问题描述】:
我发现了一个删除所有非字母的正则表达式模式:\p{L}
因此我做了一个正则表达式来删除所有非字母、非数字和非下划线模式:/[^\p{L}\d_]/gimu
不幸的是,它不适用于像 #फ्रांस 这样的印地语字符,它给出了फरस
在此处亲自查看https://regex101.com/r/dnXDK0/1
请帮助我:-)
【问题讨论】:
标签: javascript regex hindi
我发现了一个删除所有非字母的正则表达式模式:\p{L}
因此我做了一个正则表达式来删除所有非字母、非数字和非下划线模式:/[^\p{L}\d_]/gimu
不幸的是,它不适用于像 #फ्रांस 这样的印地语字符,它给出了फरस
在此处亲自查看https://regex101.com/r/dnXDK0/1
请帮助我:-)
【问题讨论】:
标签: javascript regex hindi
你忘记了变音符号。您需要将\p{M} 或\p{Mn} 添加到否定字符类中:
/[^\p{L}\p{M}\d_]/gu
请参阅regex demo。
请注意,这里不需要 i 和 m 标志。 m 重新定义锚行为,但您的正则表达式不包含 ^ 或 $。 i 以不区分大小写的方式匹配大小写字母,但 \p{L} 匹配所有字母,包括大写和小写。
【讨论】: