谁能帮我解释一下这几个正则表达式是什么意思?

jongsuny 2009-03-29 05:48:54
下面有几个,,高手帮我解释一下咯..万分感谢.
1. @"/\*.*?\*/|//.*?(?=\r|\n)"

2. @"@?""""|@?"".*?(?!\\).""|''|'.*?(?!\\).'"

3. @"\w+|-\w+|#\w+|@@\w+|#(?:\\(?:s|w)(?:\*|\+)?\w+)+|@\\w\*+"

4. @"(?<=^|\s)$0(?=\s|$)"

5. "(?!.*)_{37}(?<!.*)"







...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1. @"/\*.*?\*/|//.*?(?=\r|\n)"
匹配多行注释和单行注释,但是有问题,我不会 .net 只能帮你写 Java 的

/**
* 多行注释
*/
private final static String MULTI_COMMENT = "/\\*[^*]*\\*+(?:[^/*][^*]*\\*+)*/";

/**
* 单行注释
*/
private final static String SINGLE_COMMENT = "//[^\\r\\n]*+";



2. @"@?""""|@?"".*?(?!\\).""|''|'.*?(?!\\).'"
匹配双引号的字符串和单引号的字符,但是好像也有问题,比如说遇到:

String str = "test \\\\\" tesst";

的字符串就不能正确匹配了。

更正后:

/**
* 字符串
*/
private final static String QUOTE_STRING = "\"[^\\\\\"]*(?:\\\\.[^\\\\\"]*)*\"";

/**
* 字符
*/
private final static String QUOTE_CHAR = "'[^\\\\']*(?:\\\\.[^\\\\']*)*'"


3. @"\w+|-\w+|#\w+|@@\w+|#(?:\\(?:s|w)(?:\*|\+)?\w+)+|@\\w\*+"
这个应该是匹配正则表达式的正则表达式

4. @"(?<=^|\s)$0(?=\s|$)"
没看懂

5. "(?!.*)_{37}(?<!.*)"
没看懂
猿敲月下码 2009-03-29
  • 打赏
  • 举报
回复
说下第一个吧:
@"/\*.*?\*/|//.*?(?=\r|\n)"

它是查找字符串中是否有注释内容
比如下面的内容:
/*sdfsdfsdf*/ (/\*.*?\*/)
或者是
//sdfsdfsdfsfd
(?=\r|\n)表示匹配\r或者\n前面的字符

@免去了转义
jongsuny 2009-03-29
  • 打赏
  • 举报
回复
对了,这个是C#里的一段代码,,,应该是C#里格式的正则。..
jongsuny 2009-03-29
  • 打赏
  • 举报
回复
谢谢了,等了一个晚上总算等到一个了...
Sodino 2009-03-29
  • 打赏
  • 举报
回复
这个还真是难为人!

不懂,帮顶

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧