我需要从string'بسماللهالرحمنالرحيم'中删除一些Unicode符号 我知道他们肯定存在这里。 我试过了: re.sub('([\u064B-\u0652\u06D4\u0670\u0674\u06D5-\u06ED]+)', '', 'بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ') 但它不起作用。 string保持不变。 我究竟做错了什么?
如何使用正则expression式匹配法语和俄语西里尔字母字符? 我只想做字母字符,没有数字或特殊字符。 现在我有 [A-ZA-Z]
Perl和其他一些当前的regex引擎在正则expression式中支持Unicode属性,例如类别。 例如在Perl中,可以使用\p{Ll}来匹配任意小写字母,或者使用p{Zs}来匹配任何空格分隔符。 我在Python的2.x和3.x行中没有看到对此的支持(带来的遗憾)。 有没有人知道获得类似效果的好策略? 欢迎使用本土解决scheme。
我试图写一个合理的宽容validation器的名称在PHP中,我的第一次尝试包括以下模式: // unicode letters, apostrophe, hyphen, space $namePattern = "/^([\\p{L}'\\- ])+$/"; 这最终传递给preg_match()的调用。 据我所知,这与你的香草ASCII字母表一起工作,但似乎在sp或张之类的更为棘手的字符上绊倒。 模式本身有什么问题吗? 也许我希望\p{L}做比我想象的更多的工作? 或者它与传入input的方式有什么关系? 我不确定它是否相关,但确实在表单页面上指定了UTF8编码。
许多现代正则expression式实现将\w字符类速记解释为“任何字母,数字或连接标点符号”(通常是:下划线)。 这样,像\w+这样的正则expression式就可以匹配hello , élève , GOÄ_432或gefräßig等词语。 不幸的是,Java不。 在Java中, \w仅限于[A-Za-z0-9_] 。 这使得上面提到的那些匹配词难以解决,还有其他一些问题。 它也似乎是\b字分隔符匹配的地方,它不应该。 在Java中,类似.NET的,支持Unicode的\w或\b的正确等价物是什么? 哪些其他快捷方式需要“重写”,使他们的Unicode感知?
如何在JavaScript中使用支持Unicode的正则expression式? 例如,应该有类似于\ w的东西,可以匹配任何字母或标记类别中的代码点(不仅仅是ASCII文件),并且希望有标点符号等[[P *]]的filter。