導航:首頁 > 編程語言 > java正則匹配中括弧內容

java正則匹配中括弧內容

發布時間:2021-02-26 22:56:45

java,怎樣用正則表達式去掉方括弧[ ]內的內容。如將"[a;b]haha;[c;d]hihi"變為「haha;hihi」。

^String str = "[a;b]haha;[c;d]hihi";
// 三部分:[\\[]:開頭; [^\\[\\]]+:非[]; [\\]]結尾回
System.out.println(str.replaceAll("[\\[][^\\[\\]]+[\\]]", ""));

結果答正確

② java正則獲取中括弧的內容

你的這個a是數組,應該是string[] 類型的,直接a[2]就可以取出了,假設是string類型的啊,可以用subString(int start,int end)取值

③ Java中如何用正則表達提取中括弧嵌套中括弧中的內容

一定要用正則嗎,如果不用正則的話,可以講所有的中括弧用replace()方法替換掉,然後用spilt()方法,以逗號隔開,得到的字元串數組就是你要的內容。
如果用正則的話,代碼如下
import java.util.regex.*;
public class RegDemo
{
public static void main(String args[]){
String reg="\\[+([a-z]{1,}|_)+[a-z]{1,}+\\]";
//只用reg2可以匹配兩個括弧的內容
//String reg2="\\[\\[+([a-z]{1,}|_)+[a-z]{1,}+\\]\\]"
//這里的content就是要用來匹配的數據
String content="[world],[hello],[[hello_world]]";
//以逗號分隔
String arr[]=content.split(",");
for(int i=0;i<arr.length;i++){
Pattern pattern=Pattern.compile(reg);
Matcher matcher=pattern.matcher(arr[i]);
if(matcher.find()){
//得到第一次循環的內容,判斷裡面還有中括弧沒有
String target1=matcher.group();
if(target1.contains("[")){
//把所有的方括弧替換掉,就得到想要的數據了
target1=target1.replace("[","");
target1=target1.replace("]","");
}
System.out.println(target1);
}
}
}
}

④ 求一個正則表達式 匹配出所有的中括弧比如

匹配所有的中括弧及其中內容的正則表達式 【.*?】

我給你一個Java語言的專例子,你看看吧屬

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

publicclassAA{

publicstaticvoidmain(String[]args){

Stringstr="1....水電費第三方第三方第三方【222】【3333】 展示的是 【222】 【3333】";

Stringregex="【.*?】";

Patternp=Pattern.compile(regex);

Matcherm=p.matcher(str);

while(m.find()){

System.out.println(m.group());

}

}

}

⑤ 用java正則表達式匹配方括弧問題

find()方法是部分匹配,是查找輸入串中與模式匹配的子串。
matches()是全部匹配內,是將整個輸入串容與模式匹配,因此只有整個字元串都符合正則表達式才會返回true
System.out.println(Pattern.matches("\\[.+?\\]", "[呵呵]"));

⑥ 正則匹配兩個方括弧之間的內容,包括方括弧本身

要匹配字元串[] ..... [/]的所有內容(包括兩個方括弧),
應該用正則表達式:/\[\][\s\S]*?\[\/\]/i
取第內0捕獲組的數據,就是字元串容[] ..... [/]的所有內容

你的正則表達式/\[\]([\s\S]*)\[\/\]/Ui如果有兩個[/],它就會匹配最長的字元串(貪婪匹配),比如字元串:[] ..... [/][] ..... [/]
它一次會匹配全部字元串(貪婪匹配),而不是匹配第一和第二個[] ..... [/](非貪婪匹配)
另外,/\[\]([\s\S]*)\[\/\]/Ui加小括弧會捕獲[] ..... [/]中間的 .....
而你要匹配所有內容(包括兩個方括弧),所以應該去掉小括弧,取第0捕獲組的數據。

⑦ java正則表達式匹配小括弧內的內容

String str = "(aa){(dd)cbdsagchgkhdbvljck(ff)}";
Pattern pattern = Pattern.compile("(?<=\\()[^\\)]+");

Matcher matcher = pattern.matcher(str);
while(matcher.find())
{
System.out.println(matcher.group());
}

⑧ JAVA正則表達式獲取大括弧什麼內容

代碼如下:

import java.util.ArrayList;


import java.util.List;


import java.util.regex.Matcher;


import java.util.regex.Pattern;

public class Test {

public static void main(String[] args) throws Exception {


String test = "{databaseIp}:{databasePort}{instanceName};database";


List<String> ls=new ArrayList<String>();


Pattern pattern = Pattern.compile("(?<=\{)(.+?)(?=\})");


Matcher matcher = pattern.matcher(test);


while(matcher.find()){


ls.add(matcher.group());


}


for (String string : ls) {


System.out.println(string);


}


}

⑨ 正則表達式怎麼匹配中括弧裡面的內容

varpattern=/(([^)]+))/;//匹配結果取分組1

更多正則資料請參考我的博客:《我眼裡的正則表達式(專入屬門》

鏈接:http://www.zjmainstay.cn/my-regexp

⑩ 正則表達式 匹配最後一個中括弧內容

我試了半天,只能將逐個括弧中的內容進行匹配,正則表達式如下:(?!\[)([^\[\]]*)(?=\])
如果回你代碼中用答javascript來實現對匹配內容進行操作的話,可以使用/(?!\[)([^\[\]]*)(?=\])/g來解決最後一個括弧匹配的問題。
我用javascript做的測試:(彈出最後一個括弧中的內容)
<script>
changeStr();
function changeStr()
{
var str = "[tt.aa].[bbb].[ccc]";
var reg = /(?!\[)([^\[\]]*)(?=\])/g;
var arr = str.match(reg);
alert(arr[arr.length-2]);//最後一次匹配的是空串,倒數第二次才是我們想要的結果
}
</script>
希望能夠幫到你

閱讀全文

與java正則匹配中括弧內容相關的資料

熱點內容
國語韓國電影 瀏覽:323
台灣古裝四級電影 瀏覽:403
頸子上長睾丸的電影 瀏覽:453
尺度大les影片 瀏覽:430
主角血親全收的小說 瀏覽:957
槍火粵語電影百度雲 瀏覽:42
周星馳的全部電影粵語 瀏覽:423
歐姆龍plc編程線驅動程序 瀏覽:46
重生紅軍反圍剿的小說 瀏覽:142
主角獲得外星戰艦認主 瀏覽:401
免費能搜索的在線看片 瀏覽:584
韓劇電影在線觀看國語 瀏覽:772
win10系統去廣告嗎 瀏覽:900
無法打開物理文件 瀏覽:487
jar啟用指定配置文件 瀏覽:994
蘋果手機用什麼app拍美顏照片 瀏覽:595
蘇州網路公關公司有哪些比較好的 瀏覽:26
大香蕉第一區 瀏覽:312
韓國電影 下女 百度雲 瀏覽:111
乳電影 瀏覽:312

友情鏈接