介绍
这篇文章主要为大家展示了“基于java如何实现正则表达式中环视的简单应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于java如何实现正则表达式中环视的简单应用”这篇文章吧。
具体如下:
由于开发工作需要对文本中内容进行过滤,删除或替换掉一些无用的或不符合要求的信息。于是发现一个问题,某一类工程性文本中,用到很多英文写法相同,但含义不同的单位,需要将其分别转为真实含义对应的汉字。比如:“粘度为17,移动距离为350厘米,要求混凝土必须内实外光。振捣时间为30年代干净,很明显第一个年代是粘度的单位,第二年代是时间单位,现在需要将文本中所有表示时间的年代替换为“秒”,在朋友指引下,发现通过正则表达式中的环视可以方便实现这功能。
正则表达式中的环视,大家公认的基本原理是依据位置信息来进行匹配。我认为,还可以把它理解为依据目标字符的上下文进行匹配。
具体的java代码如下
package ccnu; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; public class  regex { ,/* * ,,*,@param 参数 ,,*/public 才能;static  void main (String [], args), { ,,,//,TODO Auto-generated method 存根 ,,,String tempHtmlString=罢扯任?7,移动距离为350厘米,要求混凝土必须内实外光。振捣时间为30年代!”; ,,,Pattern p_html; ,,,Matcher m_html; ,,,String regEx =,“([^粘度][u4e00-u9fa5] {1, 10} (& lt;=[0 - 9]))年代(^ [a - z]美元)“;; ,,,p_html =, Pattern.compile(正则表达式); ,,,m_html =, p_html.matcher (tempHtmlString); ,,,String resultString=啊? ,,,try { ,,,,,resultString =, m_html.replaceAll(“$ 1秒“); ,,,},catch (PatternSyntaxException 交货),{ ,,,,,//,Syntax error 拷贝,regular 表达式 ,,,},catch (IllegalArgumentException 交货),{ ,,,,,//,Syntax error 拷贝,replacement text (unescaped 美元,迹象吗?) ,,,},catch (IndexOutOfBoundsException 交货),{ ,,,,,//,Non-existent backreference used 从而replacement 文本 ,,,} ,,,System.out.println (resultString); ,,} }
<>强结果:>强粘度为17,移动距离为350厘米,要求混凝土必须内实外光。振捣时间为30秒。
以上是“基于java如何实现正则表达式中环视的简单应用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!