regex 避免字母数字的正则表达式

qlzsbp2j  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(226)

请帮助解决以下问题。对于以下孟加拉语文本:
“.(),”
下面的正则表达式:
[]+.[]+|[]+
我得到以下输出:
না২১তম। এয়ার১০টি কোয়ালিটি ইনডেক্স১০৫.৫৬(একিউআই) স্কোর১০৪, গতকাল ছিল৭৬
然而,在这里,它成功地检测到纯数字(在这里:১০৫.৫৬) or numbers with punctuations(১০৪ and ৭৬). However, it also detects numbers which are alphanumeric(here:২১ from ২১তম and ১০ from ১০টি). I want to detect numbers, numbers with punctuations(bengali punctuations , and ।) but do not want to detect alphanumeric numbers (bengali alphabet:“‍‍‍‍‍”)
开头提到的输入文本的预期输出应为:
না ২১তম। এয়ার ১০টি কোয়ালিটি ইনডেক্স১০৫.৫৬(একিউআই) স্কোর১০৪, গতকাল ছিল৭৬
测试网址:regex101.com
谢谢大家。

pdkcd3nj

pdkcd3nj1#

你可以用

([০-৯]+\.[০-৯]+|[০-৯]+)(?=[,।\s])

如果您还需要排除字母位于数字前面的情况,请使用

(?<=[,।\s])([০-৯]+\.[০-৯]+|[০-৯]+)(?=[,।\s])

注意,我已经将.替换为\.,因为.是正则表达式中的特殊符号,表示任何1符号。此外,为了简洁,我将[০১২৩৪৫৬৭৮৯]更改为[০-৯]

相关问题