【发布时间】:2021-10-20 22:33:42
【问题描述】:
我需要从字符串中删除所有包含非拉丁字符的段落,但与我看到的许多答案不同,我还想删除这些段落中的标点符号,同时在英文段落中保留相同的标点符号。
换句话说,当遇到诸如“ָהּ”之类的非拉丁字符时,正则表达式将开始跳过包括 ascii 标点在内的所有内容,直到找到 [a-zA-Z] 字符。
我尝试了以下示例,但它错误地删除了“一半”后的引号,让我相信我对非拉丁字符没有很好的定义。
[\u0250-\ue007][^a-zA-Z]*
这是输入文本的示例(更新):
or perhaps, a - אוֹ דִילְמָא אֵין אִשָּׁה מִתְקַדְּשֶׁת לַחֲצָאִין כְּלָל (12);time
תֵּיקוּ
person cannot be in separate halves at all, even
though both "halves” would come together simultaneously?(13)
The speaker replies:(14)
得到的字符串是:
or perhaps, a - time
person cannot be in separate halves at all, even
though both "halveswould come together simultaneously?(13)
The speaker replies:(14)
如您所见,它在第三行搞砸了。显然,我可以排除那个特定的角色,但我担心它会在其他极端情况下搞砸。
还有其他想法吗? (我正在使用 Javascript 顺便说一句)
【问题讨论】:
标签: javascript node.js regex