正則表達(dá)式中環(huán)視的簡單應(yīng)用示例【基于java】
本文實(shí)例講述了正則表達(dá)式中環(huán)視的簡單應(yīng)用。分享給大家供大家參考,具體如下:
由于開發(fā)工作需要對文本中內(nèi)容進(jìn)行過濾,刪除或替換掉一些無用的或不符合要求的信息。于是發(fā)現(xiàn)一個問題,某一類工程性文本中,用到很多英文寫法相同、但含義不同的單位,需要將其分別轉(zhuǎn)為真實(shí)含義對應(yīng)的漢字。比如:"粘度為17s,移動距離為350厘米,要求混凝土必須內(nèi)實(shí)外光。振搗時間為30s。",很明顯第一個s是粘度的單位,第二s是時間單位,現(xiàn)在需要將文本中所有表示時間的s替換為“秒”,在朋友指引下,發(fā)現(xiàn)通過正則表達(dá)式中的環(huán)視可以方便實(shí)現(xiàn)這功能。
正則表達(dá)式中的環(huán)視,大家公認(rèn)的基本原理是依據(jù)位置信息來進(jìn)行匹配。我認(rèn)為,還可以把它理解為依據(jù)目標(biāo)字符的上下文進(jìn)行匹配。
具體的Java代碼如下
package ccnu; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; public class regex { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String tempHtmlString="粘度為17s,移動距離為350厘米,要求混凝土必須內(nèi)實(shí)外光。振搗時間為30s。"; Pattern p_html; Matcher m_html; String regEx = "([^粘度][u4e00-u9fa5]{1,10}(?<=[0-9]))s([^a-z]$)"; p_html = Pattern.compile(regEx); m_html = p_html.matcher(tempHtmlString); String resultString=""; try { resultString = m_html.replaceAll("$1秒"); } catch (PatternSyntaxException ex) { // Syntax error in the regular expression } catch (IllegalArgumentException ex) { // Syntax error in the replacement text (unescaped $ signs?) } catch (IndexOutOfBoundsException ex) { // Non-existent backreference used the replacement text } System.out.println(resultString); } }
結(jié)果:粘度為17s,移動距離為350厘米,要求混凝土必須內(nèi)實(shí)外光。振搗時間為30秒。
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家正則表達(dá)式學(xué)習(xí)有所幫助。
相關(guān)文章
javascript下一個還原h(huán)tml代碼的正則
javascript下一個還原h(huán)tml代碼的正則...2007-08-08最全的用正則批量去除Teleport Pro整站下載文件冗余代碼
有時候我們用Teleport Pro整站下載系統(tǒng),批量下載一個網(wǎng)站的內(nèi)容時,里面會加入一些冗余代碼,而且大多都不一樣,這時候我們就只好用正則表達(dá)式來替換了2013-11-11Java中使用正則表達(dá)式處理文本數(shù)據(jù)
正則表達(dá)式就是一個字符串,但和普通的字符串不同的是,正則表達(dá)式是對一組相似字符串的抽象。本文將給大家介紹java中使用正則表達(dá)式處理文本數(shù)據(jù)的相關(guān)的資料,感興趣的朋友一起看看吧2015-10-10js正則匹配table,img及去除各種標(biāo)簽問題
這篇文章主要介紹了js正則匹配table,img及去除各種標(biāo)簽問題,需要的朋友可以參考下2020-04-04ajax對注冊名進(jìn)行驗證檢測是否存在于數(shù)據(jù)庫中
使用ajax對注冊名進(jìn)行驗證判斷它是否在數(shù)據(jù)庫中存在,具體的實(shí)現(xiàn)如下,感性的朋友可以參考下,希望對大家有所幫助2013-07-07正則表達(dá)式regular expression詳述(一)
正則表達(dá)式regular expression詳述(一)...2006-06-06