JS和C#實(shí)現(xiàn)的兩個(gè)正則替換功能示例分析
本文實(shí)例講述了JS和C#實(shí)現(xiàn)的兩個(gè)正則替換功能。分享給大家供大家參考,具體如下:
應(yīng)用實(shí)例1:
待處理字符串:str="display=test name=mu display=temp"
要求:把display=后的值都改成localhost
JS處理方法:
str.replace(/display=\w*/g,"display=localhost");
C#處理方法:
Regex reg=new Regex(@"display=\w*"); str=reg.Replace(str,"display=localhost");
應(yīng)用實(shí)例2:
待處理字符串:str="display=test name=mu display=temp"
要求:字符串變?yōu)閐isplay=localhosttest name=mu display=localhosttemp
JS處理方法:
var reg = /(display=)(\w*)/g;
var result;
while ((result= reg.exec(str))!=null) {
str= str.replace(result[0], result[1] + "localhost" + result[2]);
}
C#處理方法:
/// <summary>
/// 定義處理方法
/// </summary>
/// <param name="match">符合的字符串</param>
/// <returns></returns>
private string Evaluator(Match match)
{
//(display=)(\w*) Groups按查找到的字符串再根據(jù)分組進(jìn)行分組
//第0組為整個(gè)符合的字符串,后面的組按括號(hào)順序排
string str =match.Groups[1].Value+"localhost"+ match.Groups[2].Value;
return str;
}
Regex regex = new Regex(@"(display=)(\w*)");
string result = regex.Replace(str, Evaluator);
最后還有一個(gè)關(guān)于js的正則的小總結(jié):
字符串match和正則對(duì)象exec的區(qū)別
1、 當(dāng)正則表達(dá)式?jīng)]有/g時(shí),兩者返回第一個(gè)符合的字符串或字符串組(如果正則中有分組的話)
2、 當(dāng)正則表達(dá)式有/g時(shí),match返回全部符合的字符串組且忽略分組,exec則返回第一個(gè)字符串或字符串組
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對(duì)大家正則表達(dá)式學(xué)習(xí)有所幫助。
相關(guān)文章
MyEclipse刪除網(wǎng)上復(fù)制下來(lái)的來(lái)代碼帶有的行號(hào)(正則去除行號(hào))
這篇文章主要介紹了MyEclipse刪除網(wǎng)上復(fù)制下來(lái)的來(lái)代碼帶有的行號(hào),利用正則表達(dá)式進(jìn)行去除,感興趣的小伙伴們可以參考一下2015-12-12
36個(gè)正則表達(dá)式(開(kāi)發(fā)效率提高80%)
我們?cè)谌粘5腏ava開(kāi)發(fā)中,經(jīng)常需要處理一些字符串,本文主要介紹了36個(gè)常用正則表達(dá)式,感興趣的可以了解一下2021-11-11
Javascript使用正則驗(yàn)證身份證號(hào)(簡(jiǎn)單)
本文以javascript為例給大家介紹了正則表達(dá)式驗(yàn)證身份證號(hào)的方法,非常不錯(cuò),介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-08-08
15/18位身份證號(hào)碼驗(yàn)證的正則表達(dá)式總結(jié)(詳細(xì)版)
需要一個(gè)簡(jiǎn)單的驗(yàn)證身份證號(hào)的正則表達(dá)式,從網(wǎng)上查了很多,都有問(wèn)題,所以干脆自己寫(xiě)一個(gè),下面這篇文章主要給大家分享了關(guān)于15/18位身份證號(hào)碼驗(yàn)證的正則表達(dá)式,文中介紹的非常詳細(xì),需要的朋友可以參考下。2017-03-03
一個(gè)關(guān)于正則表達(dá)式的問(wèn)題
[藍(lán)色]一個(gè)關(guān)于正則表達(dá)式的問(wèn)題...2006-12-12
js 正則學(xué)習(xí)小記之匹配字符串字面量?jī)?yōu)化篇
昨天在《js 正則學(xué)習(xí)小記之匹配字符串字面量》談到 /"(?:\\.|[^"])*"/ 是個(gè)不錯(cuò)的表達(dá)式,因?yàn)榭梢詽M足我們的要求,所以這個(gè)表達(dá)式可用,但不一定是最好的2020-04-04

