正则表达式求解:
存在以下几种字符串:
1)abcd
2)(abcd)
3)(abcd
4)abcd)现在想实现这么一个功能,可以不出现括号,但是如果出现括号的话则需要出现两边的括号,不能只出现一边的括号,即只能存在第一种和第二种情况,其他的不行。
如何用正则表达式实现?
存在以下几种字符串:
1)abcd
2)(abcd)
3)(abcd
4)abcd)现在想实现这么一个功能,可以不出现括号,但是如果出现括号的话则需要出现两边的括号,不能只出现一边的括号,即只能存在第一种和第二种情况,其他的不行。
如何用正则表达式实现?
(?m)^(abcd|\(abcd\))\s*$不知道java如何描述多行模式。var reg = \^(abcd|\\(abcd\\))\\s*$\m;
这样试试?
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>test</title>
<script type="text/javascript">
window.onload = function(){
var content = document.body.innerHTML;
var reg = /[^\(\)]+|\([^\)\(]\)$/gm;
alert(content.match(reg).length);
};
</script>
</head>
<body style="height:800px;">
slfj
asfjlajsfl
asfjlskjf
sdfjlkjslf
(asdfjlk)
(sdfasdfj
asldfjl)
</body>
</html>
alert(/[^\(\)]+|\([^\)\(]\)$/.test("abcd)")) ==> true