AS3正则特殊字符表达式转义符处理?转义符前面自动加一条斜杠

当使用正则表达式模式搜索匹配项时,仅当空格位于换行符(\ n)之后时,忽略目标字符串中空格的最佳方法是什么? 例如,如果我搜索的是" cats",则我希望" c \ n ats"或" ca \ n ts"匹配,但不希望" c ats"匹配,因为空格不在换行符之后。 我无法预先去除空格,因为我需要找到匹配项的开始和结束索引(包括任何空格)以突出显示该匹配项,并且任何空格都需要用于格式化。


如果您使用的正则表达式引擎支持环视断言,请使用正向后置断言来检查前面是否存在换行符:


"使用正则表达式模式搜索匹配项时,忽略目标字符串中空格的最佳方法是什么"

我会动态构造一个正则表达式,在每个字符之间插入一个(?:\


我已根据您列出的规则制作了一个小的红宝石代码段。 这是你想要的?


}

        最近项目里面频繁使用到正则表达式,在这里将java正则表达式和js正则表达式都做个记录,以便日后参考。


        java正则表达式须符合下面的规范,不必记住,需要用的时候随时参照就可以。

零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}。

一次或多次匹配前面的字符或子表达式。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,}。

等效于 'o?'。注意:您不能将空格插入逗号和数字之间。

当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是"非贪心的"。"非贪心的"模式匹配搜索到的、尽可能短的字符串,而默认的"贪心的"模式匹配搜索到的、尽可能长的字符串。例如,在字符串"oooo"中,"o+?"只匹配单个"o",而"o+"匹配所有"o"。

匹配除"\r\n"之外的任何单个字符。若要匹配包括"\r\n"在内的任意字符,请使用诸如"[\s\S]"之类的模式。

匹配 pattern 并捕获该匹配的子表达式。可以使用 $0…$9 属性从结果"匹配"集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用"\("或者"\)"。

匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用"or"字符 (|) 组合模式部件的情况很有用。例如,'industr(?:y|ies) 是比 'industry|industries' 更经济的表达式。

}

不知道你想表达的是什么意思。
如果你想看中间是不是空格 完全可以不用正则。用字符串匹配就可以了。
还是说你有什么别的意思?要说清楚你的用途

就是关键字屏蔽功能,将匹配的关键字用“***”替换,如果输入的字符串中的关键字中间有空格,如何处理?同时非关键字部分的字符串内容的空格不受影响。
这个可以使用字符串里的功能实现
1:首先检索字符串里的空格并去掉 放到一个新字符串里,并把空格所在索引和左右两侧的字符当作子串记录下来
2:字符串.match(关键字) 然后替换成**
3:最后根据记录的空格索引去匹配新替换生成的字符串 并把空格加上
}

我要回帖

更多关于 正则特殊字符 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信