當前位置:首頁 » 編程語言 » java匹配括弧

java匹配括弧

發布時間: 2022-12-28 22:29:34

java中怎麼判斷匹配情況

  1. 能匹配任何字元串,比如1、a、sdf、3adfs、kfgfh等等,也能匹配m1、wapdd等m、wap開頭的。但是排除m、wap的情況。

  2. 括弧匹配問題:大部分情況是有括弧和花括弧在一起的一對一對的,就跟情侶一樣的。
    然後分號就是和括弧一對一的出現的

  3. 凡出現左括弧,則進棧。

  4. 凡出現右括弧,首先檢查棧是否空若棧空,則表明該「右括弧」多餘,否則和棧頂元素比較。若相匹配,則「左括弧出棧」, 否則表明不匹配。

  5. 表達式檢驗結束時,若棧空,則表明表達式中匹配正確,否則表明「左括弧」有餘。

⑵ 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 匹配大括弧內容

[^}]表示不包括右大括弧即可。
根據你的正則表達式,以下語句均合法:
${anythingYouNeed}
${0123$4{}
${}
換成{ 一樣能用。

⑷ Java中如何使用正則匹配一對中括弧中的引號冒號(":),目的是在冒號後加個空格

我覺得樓上那位說把中括弧里的取出來處理了再弄回去可行啊,把原字元串一分為三,把中間處理了再組合起來,但是我寫的這個很low只能處理一次中括弧:

⑸ java 怎麼擷取字串中的括弧

java 怎麼擷取字串中的括弧 可以通過java的」substring「方法截取出對應的字串,前提是知道開始和結束的字串的值:
String getSignInfo = reqResult.substring(reqResult.indexOf("(") + 1, reqResult.indexOf(")"));
解釋:上述方法就是擷取reqResult字串的中開始」(「和結束」)「中間部分的內容,」1「就是」)「的長度,之後將獲取的結果賦值給」getSignInfo進行輸出即可「;
備註:以上方法通用於擷取字串,數字」6「和開始結束字串根據實際需要修改即可。
java怎麼擷取字串
1、subString(int start);擷取從小標為start位置開始到結尾的字串
2、subString(int start,int end);擷取從小標為start位置開始到小標為end-1的字串
3、split(String s);將根據s匹配,將字串截成陣列;
比如String str = 」aa,b,vc,java「
str.split(",")得到的就是陣列{」aa「,」b「,」vc「,」java「}
java 擷取字串
樓主首先要明白一個本質的問題,只有變數才能夠被賦值。方法的返回值是不能被賦值的。
還有一個問題需要解釋一下,String a="abcabc",如果你是想就地把第1個a替換成b,那這是辦不到的!
我們能辦到的是,拷貝一個副本,在此副本上進行操作。我所說的副本可以是陣列,也可以是StringBuffer.
操作完後,再利用修改後的副本構造一個新的String物件,最後讓a指向這個物件。
來解決你提的第一個問題吧,我覺得方案有很多。
用陣列:
char[] c=a.toCharArray();
c[0]='b';
a=new String(c);
用StringBuffer():
StringBuffer b = new StringBuffer( a );
b.setCharAt( 0 , 'b' );單引號
a=b.toString();
再回答第二問
Buffer是緩沖區的意思.緩沖區是用於儲存臨時資料的(還在被使用者所操作).
StringBuffer就是字串緩沖區.在緩沖區內可以進行各種寫操作,如拼接字串,修改字串等.

public class Test {
public static void main(String[] args) {
String str = "C:\\\\Program%20Files\\\\Apache%20Sofare%20Foundation\\\\Tomcat%206.0\\\\webapps\\\\viptickets\\\\financial\\\\excel\\\\rsf_20110620133950.xls";

System.out.println(str.replaceAll("%20", " "));

}

}
---------------------------
C:\\Program Files\\Apache Sofare Foundation\\Tomcat 6.0\\webapps\\viptickets\\financial\\excel\\rsf_20110620133950.xls

/*
思路:
判斷最後一個被擷取的位元組是不是負數。
如果是負數,繼續往前判斷,連續的負數的個數。
如果是偶數,說明沒有半個中文。不用舍棄。
如果是奇數,說明有半個中文出現,舍棄最後一個位元組。
*/
public class EncodeTest {
public static String cutString(String str,int len)throws Exception
{
byte[] buf = str.getBytes("GBK");
int count = 0;
for(int x=len-1; x>=0; x--)
{
if(buf[x]<0)
count++;
else
break;
}
if(count%2==0)
return new String(buf,0,len);
else
return new String(buf,0,len-1);
}
public static void main(String[] args) throws Exception {
String str = " 我abc漢字 ,6";
int len = 6; 想要擷取的長度,不管長度為幾,都不會出現半個中文字元
System.out.println(cutString(str,len));
}
}
Java 擷取字串
public String getString(String str,String str1 ){
int index = str1.indexOf(str); str1是想要開始擷取的字元。str是被擷取的字元。
return str.subString(index+1,str.length);
}
java中擷取字串
用java中String類里的split();方法 這一方法支援正則表示式
用法
String str=「1234567.1234」;
String [] strs = str.split("[.]");
就可以得到陣列 strs[0] =1234567; strs[1] =1234
java中subString擷取首位擷取字串末尾擷取字元
String str="(HOST = 192.168.1.217)";

String end = str.substring(str.length()-1);

end 就是你要的末尾值。
你的目的是不是就是只是為了獲取埠號??
java string怎麼擷取字串
通常使用subString方法進行字串的擷取

特殊情況, 使用splite方法,對字串進行切割

但都不會影響到原始的字串的資料

參考程式碼
public class Test { public static void main(String[] args) { String str= "abc蘋果def";下標和陣列 一樣, 也是從0開始 String str1 = str.substring(3, 5);下標包含3,不包含5 .也就是下標是3~4 String str2=str.substring(6);從下標6 開始,直到結束 String[] ss = str.split("蘋果");使用字串切割 String str3 = ss[0];abc String str4 = ss[1];def System.out.println(str);原始字串,不會改變 System.out.println(str1); System.out.println(str2); System.out.println(str3); System.out.println(str4); }}
輸出
abc蘋果def蘋果efabcdef

⑹ java 正匹配兩個括弧中間的字元串,不包括兩個括弧,怎麼寫

取括弧里的正則:.*?\\((.*?)\\).*?
取標簽中間內容:<p>(.*?)</p>

⑺ 編寫一java程序,判斷表達式中圓括弧是否匹配

java-- 匹配{[()]}

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
publicclassTest{
//匹配()[]{}
publicstaticbooleancheck(Stringexpr){
if(expr==null||"".equals(expr))returntrue;
List<String>list=newArrayList<String>();
Map<String,String>map=newHashMap<String,String>();
map.put("(",")");
map.put("[","]");
map.put("{","}");

for(inti=0;i<expr.length();i++){
Stringch=expr.charAt(i)+"";
if(map.keySet().contains(ch)){
list.add(ch);
}elseif(map.values().contains(ch)){
if(list.isEmpty()||!ch.equals(map.get(list.get(list.size()-1)))){
returnfalse;
}else{
list.remove(list.size()-1);
}
}
}
returnlist.isEmpty();
}
publicstaticvoidmain(String[]args){
System.out.println(check("{([])}"));
System.out.println(check("{a(b[c{e}f(s)])}"));
System.out.println(check("{([]]]])}"));
}
}

⑻ 試編寫一個演算法從檢查一個Java語言中的大括弧方括弧小括弧是否配對,若能夠全

要編寫用於檢查 Java 程序中的大括弧、方括弧和圓括弧是否正確匹配的演算法,可以使用堆棧數據結構來跟蹤代碼中遇到的左大括弧。例如,您可以使用以下步驟:

  • 初始化空堆棧。

  • 循環遍歷 Java 程序中的字元,從第一個字元開始。

  • 如果當前字元是左大括弧(即、、或),則將其推送到堆棧上。{[(

  • 如果當前字元是右大括弧(即、或),則從堆棧中彈出頂部元素。如果彈出的元素與當前右大括弧不匹配,則返回(指示大括弧未正確匹配)。}])False

  • 重復步驟 3 和 4,直到到達 Java 程序的末尾。

  • 如果堆棧為空,則返回(指示大括弧正確匹配)。否則,返回(表示大括弧未正確匹配)。TrueFalse

  • 此演算法使用堆棧來跟蹤 Java 程序中遇到的左大括弧,並通過將右大括弧與從堆棧中彈出的相應左大括弧進行比較來檢查是否匹配。此方法可以處理大括弧的任意嵌套結構,並將正確識別 Java 程序中的大括弧是否正確匹配。

    請注意,這只是一個示例演算法,可能還有其他方法可以解決此問題。您可以嘗試不同的方法來找到最適合您的解決方案。

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

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

熱點內容
知道一個伺服器的ip地址 發布:2025-07-04 14:20:33 瀏覽:597
蘋果7鎖屏密碼怎麼改 發布:2025-07-04 14:04:44 瀏覽:710
P三零是什麼配置 發布:2025-07-04 13:58:41 瀏覽:361
哪個安卓機有長方形home鍵 發布:2025-07-04 13:43:58 瀏覽:861
android腳本錄制 發布:2025-07-04 13:17:47 瀏覽:342
嵌入式和安卓哪個硬體成本高 發布:2025-07-04 13:05:56 瀏覽:229
360代理伺服器怎麼設置 發布:2025-07-04 12:49:49 瀏覽:515
iphone在哪清除緩存 發布:2025-07-04 12:49:38 瀏覽:340
代理訪問網址 發布:2025-07-04 12:47:50 瀏覽:400
分頁存儲的管理方式 發布:2025-07-04 12:47:45 瀏覽:495