【发布时间】:2011-06-07 11:05:44
【问题描述】:
我有这个正则表达式来识别该行是否包含两个下划线:
\s*_{2}(\w+)
任何空格,两个下划线,然后是一个单词。事实证明,我也需要知道根本没有下划线,所以我有:
\s*(\w+)
可选空格后跟一个单词。然后我得到第 1 组,这是我的话。到目前为止,一切都很好。
问题是使用两个下划线时所采取的操作,几乎与不使用下划线时的代码相同(除了我提出一个标志)
if( s =~ uderscore ) {
takeGroup( 1 )
yada yada
flag = true
} else if( s =~ noUnderscore {
takeGroup( 1 )
yada yada
flag = false
}
我认为必须有更好的方法,而不是复制整个正则表达式并进行测试。
【问题讨论】:
-
\s*_{2}?(\w+)应该为你做。 -
我认为这里的问题会知道我是否需要升旗。
标签: java regex regex-group