正则虐我千百遍,我仍待它如初恋!请大神帮我追到它TUT

亡灵S 发布于 2013/07/23 16:15
阅读 388
收藏 1

str等于什么才能符合这个呢

/\bhate\b[.\n]*\blike\b/

<script>
//输入哪个才能符合这个呢/\bhate\b[.\n]*\blike\b/
	//re=/\bhate\b.*\blike\b/;
	//re=/\bhate\b\n\blike\b/;
	re=/\bhate\b[.\n]*\blike\b/;
	alert(re.multiline);
	//re=/\bhate\b.*\blike\b/;
	//str="i'm hate.i'm like!";
	//str="i'm hate i'm like";
	//str="i'm hate jk like";
	str="i'm hate \n like";
	
	document.write(str);
	if(re.test(str))
	{
		alert("相符");
		
	}
	else
	{
		alert("不符");
	}
</script>


关于\b的问题,为什么前两个false最后一个true?

<script>
	//re=/\bhate\b\byuki\b/;//no
	re=/hate\byuki/;//no
	//re=/\bhate\syuki/;//ok
	alert(re.test("hate yuki"));
	if(re.test("hate yuki"))
	{
		alert("ok");
	}
	else
	{
		alert("no");
	}
</script>
则儿啊,我对你一片痴心,你怎可如此虐我?
加载中
1
卖切糕大叔
卖切糕大叔
hate\nlike能匹配\bhate\b[.\n]*\blike\b


hate yuki需要用hate\syuki匹配


\s表示空格,你前两个狮子匹配不了是因为你忽略了hate和yuki中间的空格


\b表示单词边界,一般匹配的时候用不着每个单词都写上


给楼主个建议,当你遇到解决不了的问题的时候,不要一直乱试,你基础太差, 先看看正则的基本规则,要不然你浪费时间还遭罪,别忘了孔子说过思而不学则殆
0
乾坤摄
乾坤摄
如果有jdk文档,去看下正则编译类,如果有没有就到网上搜搜,正则里的元字符。。。。你对元字符都没理解清楚
0
亡灵S
亡灵S

引用来自“乾坤摄”的答案

如果有jdk文档,去看下正则编译类,如果有没有就到网上搜搜,正则里的元字符。。。。你对元字符都没理解清楚

我看的是微软JavaScript手册js.chm里面的正则表达式,我用正则表达式也编写过邮箱之类的一些验证也都成功了,我实在不知道你为什么说我连元字符都没搞清楚。这个我从前天到现在一直在研究,实在不知道哪里错了。

以下两句都是那个chm里面的原话,我实在看不出哪里做得不对,但我知道肯定是那个地方出现问题了,否则不可能这样。能请您多指点一下么?

.匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

\b匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 

亡灵S
亡灵S
回复 @明月照大江 : 刚才查资料看到这个不错关于\b的http://developer.51cto.com/art/200909/152222.htm 还是原来理解不够啊orz
明月照大江
明月照大江
回复 @亡灵S : 我也来学学~~以往的正则都是百度~
亡灵S
亡灵S
回复 @明月照大江 : 问题解决了,你可以来看看:)
明月照大江
明月照大江
我学了很久都没学会~~,你可以用OSC的在线正则测试来测以下
0
紫电清霜
紫电清霜
撸主又来卖萌了~
亡灵S
亡灵S
不卖萌,木有人理我TUT这个问题拖得太久了,再不弄会,我真的要崩溃了
0
亡灵S
亡灵S

引用来自“卖切糕大叔”的答案

hate\nlike能匹配\bhate\b[.\n]*\blike\b


hate yuki需要用hate\syuki匹配


\s表示空格,你前两个狮子匹配不了是因为你忽略了hate和yuki中间的空格


\b表示单词边界,一般匹配的时候用不着每个单词都写上


给楼主个建议,当你遇到解决不了的问题的时候,不要一直乱试,你基础太差, 先看看正则的基本规则,要不然你浪费时间还遭罪,别忘了孔子说过思而不学则殆

谢谢您!上次的那个正则问题就是您帮我解决的!能劳烦您给我推荐一本适合的正则书么?

因为我真的认真的看了正则的语法。可是。。微软JavaScript手册js.chm,这是我语文没学好还是怎的orz感觉这个参考文档尤其是[.\n]完全就错了orz

亡灵S
亡灵S
回复 @卖切糕大叔 : 恩,好的,谢谢您。下回要提高警惕自以为理解了,其实不然O(∩_∩)O~
卖切糕大叔
卖切糕大叔
如果你看不懂文档上说的,你就试一试。其实之所以你看不懂,是因为你贪多嫌麻烦,学知识要从基础的学起,一点点的学结合实践,慢慢你就懂了。遇到困难没什么,大家都是这么过来的,这样你以后印象会更深,有利于你的进步。我平时不看书的,书就没办法推荐了,不过希望你善用谷歌百度,很多问题搜起来比书上来的更快。
返回顶部
顶部