求一个正则,要求里面除了 /* 别的符号都有(包括汉字)
解决方案 »
- 关于JAVA中类型转换的问题,弄的头大了
- split()的问题
- 关于java的基本概念
- JTable显示数据的问题。急急急。。
- java程序与网页交互??
- key[i] = Integer.parseInt(keyString.substring(i));
- 如何将一个javaBean集成到Jbuilder中
- 高分请教,如何用JAVA实现浏览局域网里的其他机子的目录。在线等待
- 写一个方法,向它传递一个对象,循环打印出对象层次结构中的所有类?thinking in java里面的一个习题不知道如何做请教高手?
- 新人求助 color的 做的是cluedo
- 【求助】程序中如何判断java中的关键字和已定义的类
- java读取C#写的2进制文件问题
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TT {
public static void main(String[] args) {
Pattern p = Pattern.compile("[^\\/\\*]*");
Matcher m = p.matcher("1231#@$@sd中国");
Matcher m1 = p.matcher("1231#@$@sd中国*");
Matcher m2 = p.matcher("1231#@$@sd中国/");
System.out.println(m.matches());
System.out.println(m1.matches());
System.out.println(m2.matches());
}
}结果:
true
false
false
再说下吧,我现在有个字符串String s = "asd.,:;()asd a % */ad.aaaaa.javaa中 */aa asd{";
就是这个s很大,里面什么符号都有,我要把里面的注释部分都拿掉,所以我想问问有没有一个正则表达式regex能够表达出 除了 /* 或者是 */ 以外所有的符号
求一正则,能够匹配除了 /* 所有的符号(包括汉字)
String s = 一个文件内容,我已经弄好了
要求能够把注释部分/*...*/过滤掉
如果有好的方法给我看下,我自己的办法不太好
Pattern p = Pattern.compile("/\\*[\\w\\s]*\\*/");//中间的部分不完善,[\\w\\s]不能表示出所有的除*/外的字符
Matcher m = p.matcher(str);
while (m.find()) {
String sub = m.group();
int first = str.indexOf(sub);
int last = str.indexOf(sub) + sub.length();
str = str.substring(0, first) + str.substring(last);
}
System.out.println(str);
如果大家有好的代码给我看看,谢谢
System.out.println(str.matches(".*/\\*.*"));
String strt = "kd*/lkdsf";
System.out.println(strt.matches(".*\\*/.*"));.*/\\*.* 这个能匹配上 /* 只要字符串中出现 /* 就返回 true
.*\\*/.* 这个能匹配上 */ 只要字符串中出现 */ 就返回 true差不多了吧
public class TTTT {
public static void main(String[] args) {
String string ="dfsdsdf /*1231#@$@sd中国*/ import";
String s = string.replaceAll("(\\/\\*)(.*)(\\*\\/)", "");
System.out.println(s);
}
}结果:
dfsdsdf import
public class TestP {
public static void main(String[] args) {
String string = "dfsdsdf /*1231#@$@sd中国*/ import/*."
+ ",M[]\'{ *//* A}1345371290384)(*&^%&^$$^&@!~*/";
String s = string.replaceAll("(\\/\\*)(.*)(\\*\\/)", "");
System.out.println(s);
}
}
运行结果:
dfsdsdf
少了那么多,显然不行
public class TTTT {
public static void main(String[] args) {
String string = "dfsdsdf /* 1231#@$@sd中国 */ "
+"import /*. ,M[]\'{ */"
+"sdfsdf /* A}1345371290384)(/&^%&^$$^&@!~ */"
+ "jfsdkjfsk\'sdfsdf /* *&^%dfsfs */"
+ "dfsdf&^$$^&@!~*/";
String s = string.replaceAll("\\/\\*(([^\\/])*||([^\\*])*)\\*\\/", "");
System.out.println(s);
}
}结果:
dfsdsdf import sdfsdf jfsdkjfsk'sdfsdf dfsdf&^$$^&@!~*/
resultString=Regex.Replace(yourString, "/\*(?<=/\*).*?(?=\*/)\*/", "")
str = str.replaceAll("\\/\\*[\\d\\D]*?\\*\\/", "");勉强
"\n" +
"de*/" +
"//fg"+
"\n"+
"hi,lz";
String s1=s.replaceAll("((?m)(//.*$))|(/\\*([^/\\*]*)\\*/)", "");
System.out.println(s1);