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

希偌 2005-09-14 09:23:16
正则表达式里[^<]*匹配所有不为“<”的字符
如果要匹配所有不为“</root>”整个字符串的字符怎么写正则表达式?
[^</root>]*
[^(</root>)]*
都不行?!
...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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)>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧