我正在尝试制作一个与人名相匹配的动态正则表达式.它在大多数名称上都没有问题,直到我在名称的末尾遇到重音字符.
示例:一些FancyNamé
我到目前为止使用的正则表达式是:
/\b(Fancy Namé|Namé)\b/i
Run Code Online (Sandbox Code Playgroud)
像这样使用:
"Goal: Some Fancy Namé. Awesome.".replace(/\b(Fancy Namé|Namé)\b/i, '<a href="#">$1</a>');
Run Code Online (Sandbox Code Playgroud)
这根本不匹配.如果我用ae替换é,它就匹配得很好.如果我尝试匹配诸如"SomeFancyNaméa"这样的名字,它就可以了.如果我删除单词最后一个单词边界锚,它就可以正常工作.
为什么单词border flag不在这里工作?关于如何解决这个问题的任何建议?
我考虑过使用类似的东西,但我不确定性能惩罚会是什么样的:
"Some fancy namé. Allow me to ellaborate.".replace(/([\s.,!?])(fancy namé|namé)([\s.,!?]|$)/g, '$1<a href="#">$2</a>$3')
Run Code Online (Sandbox Code Playgroud)
建议?想法?
我想使用一个允许的正则表达式
在这两种语言中,它总是会禁止使用@,#,%等特殊字符.
我尝试过以下代码:
if (this.value.match(/[^a-zA-Z0-9 ]/g)) {
this.value = this.value.replace(/[^a-zA-Z0-9 ]/g, '');
}
Run Code Online (Sandbox Code Playgroud)
它适用于英文文本,但问题是当我提供像éléphant这样的法语文本时,它会将法语字符视为特殊字符,并删除法语字符.所以éléphant变成了lphant.
有没有办法让正则表达式中的法语字符?
非常感谢提前.
我需要一个匹配中文,希腊文,俄文,...字母的正则表达式.我基本上想要做的是删除标点符号和数字.
到目前为止,我"手动"删除了标点符号和数字,但这似乎并不十分一致.
我尝试的另一件事是
/[\p{L}]/
Run Code Online (Sandbox Code Playgroud)
但是Mozilla不支持(我在Firefox扩展中使用它).
我正在尝试使用Javascript的string.match()函数来完成一项相当简单的任务:从字符串中提取所有单词,然后计算每个单词的出现次数.正则表达式:
/\w+/g
Run Code Online (Sandbox Code Playgroud)
除了无法处理任何类型的unicode/international字符这一事实外,此任务的工作正常.什么是能够匹配重音字符,西里尔字母和任何其他主要字母的最佳/最干净的方式?
如果它发生了重要,我目前正在Node.js环境中编码.
我需要匹配多字节 \xef\xbc\x90\xef\xbc\x91\xef\xbc\x92\xef\xbc\x93\xef\xbc\x94\xef\xbc\x95\xef\xbc\x96\使用正则表达式从日语中提取 xef\xbc\x97\xef\xbc\x98\xef\xbc\x99 字符。
\n[0-9]在这种情况下不起作用。我怎样才能制作这个正则表达式?这是我第一次尝试匹配多字节字符串。
使用以下命令在 UTF-8 和非 UTF-8 中成功匹配 4 位数字字符串,例如出生年份regex
^([0-9]{4}||[\\uFF10-\\uFF19]{4})$
我正在尝试从字符串中过滤掉与语言无关的 Unicode 字符。
\n这是我想要的示例:
\nconst filt1 = "This will not be replaced: \xc3\xa6 \xc3\x87 \xc3\xbc"; // This will not be replaced: \xc3\xa6 \xc3\x87 \xc3\xbc\nconst filt2 = "This will be replaced: \xc2\xbb \xe2\x86\x95 \xe2\x97\x84"; // This will be replaced: \nRun Code Online (Sandbox Code Playgroud)\n我该怎么做呢?像重音字母和汉字这样的字符是我想保留的。箭头、方块、表情符号等应该被过滤掉。
\n我在网上找到了各种正则表达式过滤器,但没有一个完全符合我的要求。\n这个效果最好,但它体积庞大,并且不包含非重音字母数字字符。
\n((?![a-zA-Z\xc3\xa0\xc3\xa8\xc3\xac\xc3\xb2\xc3\xb9\xc3\x80\xc3\x88\xc3\x8c\xc3\x92\xc3\x99\xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba\xc3\xbd\xc3\x81\xc3\x89\xc3\x8d\xc3\x93\xc3\x9a\xc3\x9d\xc3\xa2\xc3\xaa\xc3\xae\xc3\xb4\xc3\xbb\xc3\x82\xc3\x8a\xc3\x8e\xc3\x94\xc3\x9b\xc3\xa3\xc3\xb1\xc3\xb5\xc3\x83\xc3\x91\xc3\x95\xc3\xa4\xc3\xab\xc3\xaf\xc3\xb6\xc3\xbc\xc3\xbf\xc3\x84\xc3\x8b\xc3\x8f\xc3\x96\xc3\x9c\xc5\xb8\xc3\xa7\xc3\x87\xc3\x9f\xc3\x98\xc3\xb8\xc3\x85\xc3\xa5\xc3\x86\xc3\xa6\xc5\x93 ]).)*\nRun Code Online (Sandbox Code Playgroud)\n 是否可以创建一个正则表达式以允许非ascii字母和拉丁字母,例如中文或希腊符号(例如,允许A汉语AbN汉语)?
我目前有以下^[\w\d][\w\d_\-\.\s]*$只允许拉丁字母.
我搜索过,现有的答案都不适合我.我的问题如下:
我有这个用于RegExp的代码,它搜索匹配并突出显示匹配字母,从第一个字母开始:
var newvals = [], regexp = new RegExp('\\b' + search.escapeRegExp(), insensitive ? 'ig' : '');
Run Code Online (Sandbox Code Playgroud)
这适用于英文/美国字母,但我也有挪威字母"æøå"中的特殊字符.知道我怎么能改变这个正则表达式来覆盖特殊字符?
编辑:在应用Sam Saint Pettersen的提示后(谢谢!),我让它显示特殊字符,但是当我进行搜索时,自动完成现在只匹配大写或小写字母.因此,如果我输入"Ø",它会建议以大写字母开头的所有单词,而不是以小写字母"ø"开头的单词.小写搜索也是如此.但是,常规字母通常显示大写和小写.此问题仅适用于特殊字符.有任何想法吗?
我尝试验证名称字段,对于该字段,我喜欢允许最终用户添加类似的内容Merianos Nikos,\xce\x9c\xce\xad\xcf\x81\xce\xb9\xce\xb1\xce\xbd\xce\xbf\xcf\x82 \xce\x9d\xce\xaf\xce\xba\xce\xbf\xcf\x82(希腊语)或任何其他语言的字符之类的内容。
形式是第一个字母大写,单词的其余字母小写,并且至少两个单词。
\n\n目前我有这个正则表达式/^([A-Z][a-z]*((\\s)))+[A-Z][a-z]*$/,它可以完美地与英语配合使用,但不能与希腊语配合使用,也许还可以与其他语言配合使用。
最后,我想验证至少一个单词的另一个字段,首字母大写,但该字段也可以包含单词后面的字符。
\n\n目前我使用以下正则表达式/^[\\s\\w\\.\\-_]+$/有效的正则表达式,但我再次遇到希腊语和其他语言的问题。
regex ×10
javascript ×8
unicode ×3
.net ×1
c# ×1
diacritics ×1
firefox ×1
multibyte ×1
php ×1
replace ×1