简单问题,搞不清楚,望指点

希偌 深圳市车厘子网络科技有些公司 CTO/CIO/技术副总裁/总工程师  2005-09-14 09:23:16
正则表达式里[^<]*匹配所有不为“<”的字符
如果要匹配所有不为“</root>”整个字符串的字符怎么写正则表达式?
[^</root>]*
[^(</root>)]*
都不行?!
...全文
53 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
希偌 2005-09-14
其实就是这么一个串
<root><node>1<br />1</node><node>2</node></root>
如何取出
1<br />1
而不是
1<br />1</node><node>2
回复
hbhbhbhbhb1021 2005-09-14
用replace吧
匹配到</root>
然后把他替换成空给另一个字符串
回复
希偌 2005-09-14
这个我知道的,我现在想要的就是要匹配不包含整个单词的字符
回复
hbhbhbhbhb1021 2005-09-14
我知道了
var num1=document.all.num1.value;
re=/[^(\<\/root\>)]*/g
alert(num1.match(re));
怪不得
这个给我返回了一堆
原来这个只匹配字符
----------------------------------------------------
负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
就是说匹配除里面的字符,而不是一个单词
回复
希偌 2005-09-14
没有用,不匹配
回复
hbhbhbhbhb1021 2005-09-14
[^(\<\/root\>)]*
这样呢?
回复
hbhbhbhbhb1021 2005-09-14
<script language=javascript>
function check(e)
{
var num1="<root><node>1<br />1</node><node>2</node></root>";
re=/\<node\>(.+?)\<\/node\>/g
re.test(num1);
alert(RegExp.$1);
}
</script>
<input type="text" name="num1" value="0" onblur=check(this)>
回复
发动态
发帖子
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
社区公告
暂无公告