如果我有很多匹配,例如在多行模式下,我想用匹配的一部分替换它们以及增量的计数器号.
我想知道任何正则表达式的味道是否有这样的变量.我找不到一个,但我似乎记得那样存在......
我不是在谈论可以使用回调替换的脚本语言.这是关于能够在RegexBuddy,sublime text,gskinner.com/RegExr等工具中实现这一点,就像你可以用\ 1或$ 1引用捕获的子串一样.
我\b在正则表达式中使用和希腊字符有困难.
在这个例子中 [a-zA-Z??-??-?]*成功地标记了我想要的所有单词(希腊语和英语).现在考虑我想找到2个字母的单词.对于英语,我使用这样的东西:
\b[a-zA-Z]{2}\b.你能帮我写一个正则表达式,成功用2个字母标记希腊语单词吗?(为什么?我的最终目标是删除它们).
使用的文字:
希腊单调:Τογάρούνκαιπαρ 'υμίνλεγόμενον,ώςποτεΦαέθωνΗλίουπαίςτοτουπατρόςάρμαζεύξαςδιατομήδυνατόςείναικατάτηντουπατρόςοδόνελαύνειντατ' επίτηςγήςξυνέκαυσεκαιαυτόςκεραυνωθείςδιεφθάρη,τούτομύθουμένσχήμαέχον λέγεται,τοδέαληθέςεστιτωνπερίγήνκαικατ'ουρανόνιόντωνπαράλλαξιςκαιδιάμακρόνχρόνονγιγνομένητωνεπίγήςπυρίπολλώφθορά.
希腊POLYTONIC:Τὸγὰροὖνκαὶπαρ 'ὑμῖνλεγόμενον,ὥςποτεΦαέθωνἩλίουπαῖςτὸτοῦπατρὸςἅρμαζεύξαςδιὰτὸμὴδυνατὸςεἶναικατὰτὴντοῦπατρὸςὁδὸνἐλαύνειντὰτ' ἐπὶτῆςγῆςξυνέκαυσεκαὶαὐτὸςκεραυνωθεὶςδιεφθάρη,τοῦτομύθουμὲνσχῆμαἔχον λέγεται,τὸδὲὲληθέςἐστιτῶνπερὶγῆνκαὶκατ'οὐρανὸνἰόντωνπαράλλαξιςκαὶδιὰμακρὸνχρόνονγιγνομένητῶνἐπὶτῆςγῆςπυρὶπολλῷφθορά.
英语:事实上,在你们国家和我们的故事中讲述了这个故事,曾经的赫利俄斯之子帕森曾经用他的父亲的战车,并且,因为他无法沿着他父亲的路线驾驶它.烧毁了地球上的所有东西,他自己也被雷电摧毁了 - 据说,这个故事具有传说的风格,但它的真实性在于天体中身体的移动.它绕着地球移动,并通过猛烈的火焰摧毁地球上的东西,这种火焰会长时间地复发.
到目前为止我尝试过的:
// 1
txt = txt.replace(/\b[a-zA-Z??-??-?]{2}\b/g, '');
// 2
tokens = txt.split(/\s+/);
txt = tokens.filter(function(token){ return token.length > 2}).join(' ');
// 3
tokens = txt.split(' ');
txt = tokens.filter(function(token){ return token.length != 3}).join(' ') );
Run Code Online (Sandbox Code Playgroud)
我在这里提出了2和3的问题:Javascript - 正则表达式 - 如何删除指定长度的单词
编辑
阅读:
我想在希腊文中使用这个正则表达式新的RegExp("\ b"+ pat +"\ b"),但"\ b"元字符仅支持ASCII字符.
我尝试过XregExp库,但我没有设法解决这个问题.
任何建议将不胜感激.
我有一个类型文本的输入,我返回true或false取决于被禁止的单词列表.一切正常.我的问题是我不知道如何检查数组中带有变音符号的单词:
var bannedWords = ["bad", "mad", "testing", "b??"];
var regex = new RegExp('\\b' + bannedWords.join("\\b|\\b") + '\\b', 'i');
$(function () {
$("input").on("change", function () {
var valid = !regex.test(this.value);
alert(valid);
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' name='word_to_check'>Run Code Online (Sandbox Code Playgroud)
现在在单词上b??它返回true而不是false,例如.
假设您有以下文字:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam Lorem! nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At Lorem, vero eos …Run Code Online (Sandbox Code Playgroud)