正则表达式保留所有字母表中的所有字母以及数字和下划线(印地文字母问题)
Regex to keep all letters in all alphabets along with digits and underscore (problem on hindi letters)
我找到了一个正则表达式模式来删除所有非字母表字母:\p{L}
因此我做了一个正则表达式来删除所有非字母、非数字和非下划线模式:/[^\p{L}\d_]/gimu
不幸的是,它不适用于像 #फ्रांस
这样的印地语字符,它给出 फरस
自己看这里https://regex101.com/r/dnXDK0/1
请帮助我 :-)
您忘记了变音符号。您需要在否定字符 class:
中添加 \p{M}
或 \p{Mn}
/[^\p{L}\p{M}\d_]/gu
参见regex demo。
请注意,此处不需要 i
和 m
标志。 m
重新定义锚点行为,但您的正则表达式不包含 ^
或 $
。 i
以不区分大小写的方式匹配大小写字母,但 \p{L}
匹配所有字母,大写和小写。
我找到了一个正则表达式模式来删除所有非字母表字母:\p{L}
因此我做了一个正则表达式来删除所有非字母、非数字和非下划线模式:/[^\p{L}\d_]/gimu
不幸的是,它不适用于像 #फ्रांस
这样的印地语字符,它给出 फरस
自己看这里https://regex101.com/r/dnXDK0/1
请帮助我 :-)
您忘记了变音符号。您需要在否定字符 class:
中添加\p{M}
或 \p{Mn}
/[^\p{L}\p{M}\d_]/gu
参见regex demo。
请注意,此处不需要 i
和 m
标志。 m
重新定义锚点行为,但您的正则表达式不包含 ^
或 $
。 i
以不区分大小写的方式匹配大小写字母,但 \p{L}
匹配所有字母,大写和小写。