to huolx (飞云) :进来,你要的一个正则表达式的写法。

qiushuiwuhen 2002-05-25 04:55:41
引用
huolx (飞云) 说的
http://www.csdn.net/expert/Topicview1.asp?id=749865
我只知道正则表达式中不包含某些字符用[^xxx],匹配不包含某个字符串怎么写


不包含用
(?!pattern) 负向预查,在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

所以你例子可写成:
<script>
var str="[IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]和[IMG=upload/image/200241319594.jpg align=left]测试[/IMG]"
var reg=/\[IMG=(?!http:\/\/)([^\s]+)\salign=(\w+)\]([^\[]+)\[\/IMG\]/gi
if(arr=str.match(reg)){
for(i=0;i<arr.length;i++)
alert(arr[i]+"\n中的链接是相对链接")
}
</script>

...全文
103 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuiwuhen 2002-05-26
  • 打赏
  • 举报
回复
那我结帖了,呵呵
huolx 2002-05-25
  • 打赏
  • 举报
回复
谢谢秋水,前天我找这个问题的答案时还专门找出微软的js55参考文档来看,其中就有这一段,不过就是没看出来还能这么用~~~,高手就是高手,不服不行呀。
秋水请到下边的帖子拿分。
http://www.csdn.net/expert/topic/752/752738.xml?temp=.2886469
Lostinet 2002-05-25
  • 打赏
  • 举报
回复
倒。。
我还以为只有。NET才有这个。。
qiushuiwuhen 2002-05-25
  • 打赏
  • 举报
回复
呵呵,我也是不久前发现的

亡羊补牢...
saucer 2002-05-25
  • 打赏
  • 举报
回复
学了一招,谢谢秋水
qiushuiwuhen 2002-05-25
  • 打赏
  • 举报
回复
也请大家注意以下匹配

(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
(?!pattern) 负向预查,在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

87,994

社区成员

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

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