示例代码改一下:/*int a=10;//注释
int b=5;*/
int c=1; //注释
/*int d=7;
int e=4;//注释*/
//int f=4;/*注释

解决方案 »

  1.   

    结果好象是对的,但不是很好,研究一下
    <textarea name=a cols=30 rows=10>
    /*int a=10;//注释
    int b=5;*/
    int c=1; //注释
    /*int d=7;
    int e=4;//注释*/
    //int f=4;/*注释
    </textarea>
    <script language="JavaScript">
    <!--
    alert(a.value.replace(/(\/\*[\W\w\s\S]*?\*\/|\/\/.*\r\n)/g,""))
    //-->
    </script>
      

  2.   

    <textarea name=a cols=30 rows=10>
    /*int a=10;//注释
    int b=5;*/
    int c=1; //注释
    /*int d=7;
    int e=4;//注释*/
    //int f=4;/*注释
    </textarea>
    <div id=aa></div>
    <script language="JavaScript">
    <!--
    var str=a.value
    str=str.replace(/\n/g,'<br>');//只是替换换行,方便显示
    aa.innerHTML=str.replace(/(\/\*(.|\n)*?\*\/|\/\/.*\n?)/g,"<font color=red>$1</font>")
    //-->
    </script>
      

  3.   

    刚才的已经可以了,好像没什么错,不过这个看着更舒服点。上面那个我还没看懂,[\W\w\s\S]是什么意思?我看你下面换成(.|\n)了,我有点糊涂,我换成[.\n]为什么不行?昨晚才开始学的,勿怪,帮我入门,我给分,呵呵。
      

  4.   

    是否真的正确还有待高手发言刚才如果不替换<br>的话,(.|\n)可换成==> .
      

  5.   

    正则表达式和Java编程语言:应用程序常常需要有文本处理功能,比如单词查找、电子邮件确认或XML文档 集成。这通常会涉及到模式匹配。Perl、sed或awk等语言通过使用正则表达式来 改善模式匹配,正则表达式是一串字符,它所定义的模式可用来查找匹配的文本。 为了使用JavaTM编程语言进行模式匹配,需 要使用带有许多charAt子字串的StringTokenizer 类,读取字母或符号以便处理文本。这常常导致复杂或凌乱的代码。 
      现在不一样了。  2平台标准版(J2SETM)1.4版包含一个名 为java.util.regex的新软件包,使得使用正则表达式成为可能。 目前的功能包括元字符的使用,它赋予正则表达式极大的灵活性  本文概括地介绍了正则表达式的使用,并详细解释如何利用 java.util.regex软件包来使用正则表达式,用以下常见情形作为 例子:
    简单的单词替换 
    电子邮件确认 
    从文件中删除控制字符 
    查找文件   为了编译这些例子中的代码和在应用程序中使用正则表达式,需要安装 J2SE 1.4版。  构造正则表达式   正则表达式是一种字符模式,它描述的是一组字符串。你可以使用 java.util.regex软件包,查找、显示或修改输入序列中出现的 某个模式的一部分或全部。  正则表达式最简单的形式是一个精确的字符串,比如“Java”或 “programming”。正则表达式匹配还允许你检查一个字符串是否符合某个具体的 句法形式,比如是不是一个电子邮件地址。  为了编写正则表达式,普通字符和特殊字符都要使用:\$ ^ . * 
    + ? [' '] 
    \. 
      正则表达式中出现的任何其他字符都是普通字符,除非它前面有个 \。  特殊字符有着特别的用处。例如,.可匹配除了换行符之外的任意字符。与 s.n这样的正则表达式匹配的是任何三个字符的、以s 开始以n结束的字符串,包括sun和son 。  在正则表达式中有许多特殊字符,可以查找一行开头的单词,忽略大小写或 大小写敏感的单词,还有特殊字符可以给出一个范围,比如a-e表 示从a到e的任何字母。  使用这个新软件包的正则表达式用法与Perl类似,所以如果你熟悉Perl中正则 表达式的使用,就可以在Java语言中使用同样的表达式语法。如果你不熟悉正则 表达式,下面是一些入门的例子:构造 匹配于 字符 
    x 字符 x 
    \\ 反斜线字符 
    \0n 八进制值的字符0n (0 <= n <= 7) 
    \0nn 八进制值的字符 0nn (0 <= n <= 7) 
    \0mnn 八进制值的字符0mnn 0mnn (0 <= m <= 3, 0 <= n <= 7) 
    \xhh 十六进制值的字符0xhh 
    \uhhhh 十六进制值的字符0xhhhh 
    \t 制表符('\u0009') 
    \n 换行符 ('\u000A') 
    \r 回车符 ('\u000D') 
    \f 换页符 ('\u000C') 
    \a 响铃符 ('\u0007') 
    \e 转义符 ('\u001B') 
    \cx T对应于x的控制字符 x 字符类 
    [abc] a, b, or c (简单类) 
    [^abc] 除了a、b或c之外的任意 字符(求反) 
    [a-zA-Z] a到z或A到Z ,包含(范围) 
    [a-z-[bc]] a到z,除了b和c : [ad-z](减去) 
    [a-z-[m-p]] a到z,除了m到 p: [a-lq-z] 
    [a-z-[^def]] d, e, 或 f 预定义的字符类 
    . 任意字符(也许能与行终止符匹配,也许不能) 
    \d 数字: [0-9] 
    \D 非数字: [^0-9] 
    \s 空格符: [ \t\n\x0B\f\r] 
    \S 非空格符: [^\s] 
    \w 单词字符: [a-zA-Z_0-9] 
    \W 非单词字符: [^\w] 文:sun 来源:yesky.com
      

  6.   

    原因我想是提前把\n换成了<br>所致,只要有一个注释符号,后面的就全染上色了。