我想要一个包含除英语和波斯数字之外的所有字符的模式。我找到了这种模式,但是我的问题是如何对付这种模式。
例如包含*和/和...,但不包含1 2 3 。
此模式获取所有数字:
^[\u0600-\u06FF\s0-9]+$
答案 0 :(得分:1)
我们可以通过在字符列表中添加不需要的unicode,然后轻扫其他所有内容来解决此问题,我不确定空格是否是不需要的。
也许,像这样的修改可以起作用:
([\s\S].*?)([\x{0600}-\x{06FF}0-9]+)?
对于JavaScript,我们只用u替换x:
const regex = /([\s\S].*?)([\u{0600}-\u{06FF}0-9]+)?/gmu;
const str = `everthing we wish to have before 1 2 3 ۱ ۲ ۳ and everything else we wish to have`;
const subst = `$1`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
如果这不是您想要的表达式,则可以在regex101.com中修改/更改表达式。
答案 1 :(得分:1)
这不是ASCII,也不是波斯数字
[^0-9\u06F0-\u06F9]+
答案 2 :(得分:1)