[my name|your name]+
是一样的作用吗,我用的是jdk1.4自带的包,用()会增加一个分组,程序里要改很多地方。
我试了我上面写的表达式好象可以,但去掉最后的+就不行了,不知道为什么。

解决方案 »

  1.   

    +的意思是出現一次或者多次![my name|your name]+你這個表達式是不行的啊,你這個意思是說匹配m,y, ,n,a,m,e 或者 y,o,u,r, ,n,a,m,e中出現的任何一個字母!比如n就會匹配成功!用這個也可以啊!
    /my name|your name+/
      

  2.   

    不行啊,用"/my name|your name+/\\sis\\szhangsan"不能匹配"my name is zhangsan"。
    "/"的作用是什么,我怎么没用过?
      

  3.   

    哦,我知道了,/.../ 這個表達式是在javascript中定義正則表達式的!
    你在java中用?那么你就用:“my name|(your name)\\sis\\szhangsan”
      

  4.   

    對了,如果在java中使用正則表達式的話,你那個表達式:[my name|your name]+
    是正確的啊!真是不好意思,我是用javascript中的標準衡量的!至于為什么去掉+號就不行了,這個就要知道到底你需要匹配什么東西?有什么可能了?
      

  5.   


    哈哈,不好意思!正則表達式定義都是一樣的!所以你那個正則表達式[my name|your name]+也是不行的!也還是匹配m,y, ,n,a,m,e 或者 y,o,u,r, ,n,a,m,e中出現的任何一個字母,我剛剛沒有仔細測試,以為java中不同!剛剛測試我樓上說的大錯特錯!按照目前的信息,表達式是:my name|(your name)\\sis\\szhangsan,看來要有()了!
    到底要什么樣的功能呢?