一个正则表达式\\b问题

我请教下,一个正则表达式\\b问题?

Pattern p = Pattern.compile("[\\s]?[\"]{1}[.[^\"\\<]]*\\b(" + value + "){1}\\b[.[^\"]]*[\"]{1}");

以上我是想匹配:第一个字符可以是空格或者可以不是,第二个字符和最后一个字符一定是“”号的,在引号中间就可以自已加入value任意值来匹配字段,这个value值,我一定要是一个单词,所以加上了 加界字符\\b,打个比方:"xxxxxx_abc xxxxxx"与 "xxxxxx abc xxxxxx" 问题就出来了,后者就能出来前者,有个下划线,\\b就不能识别,我就想做到两种都能识别出来(注意:\\b一定不能去,因为去了这个地方"xxxxxabcxxxxx"都在里面了,千万不能这样),所以请高手指点一下!!!我把\\b改成[\\b[_]]报错,\\b|_也不行,急!!!
比如:"string"这样的字符

return (value.toLowerCase() == "true" || value.toLowerCase() == "y" || value.toLowerCase() == "_tab" || value.toLowerCase() == "1");
就以上面这一段就仅取出:
"true"
"y"
"_tab"(这个最不好取)
"1"(这个不要,中间要单词)
" || value.toLowerCase() == "(这样的情况不要)
"true" || value.toLowerCase() == "(这样的情况不要)
最新回答
梦有一把锁

2024-11-25 11:09:41

"[a-zA-Z_]+"

java中:
Pattern p = Pattern.compile("\"[a-zA-Z_]+\"");

就怎么简单,没你想像的复杂,就是取里面的字母还有_组成的字符串

=============================================================
我承认,我看完这个问题确实很想揍你。
首先,我看你的表达式,错漏百出,例如:
{1}既然重复一次,还干嘛写出来呢?
[.[^\"\\<]]* 又是除一些字符以外,那加上一个位置干什么?还有里边的[^\"\\<],我还\\\\\\\\\\…咧,都不明白究竟写的什么。
是java吧?\要转义。你\s知道改成\\s,那\"为什么不呢?
总之不知道你要搞什么。
你就直说你要的效果,要匹配怎样的字符?
达阳云

2024-11-25 10:55:01

把你要匹配的文字贴一点上来好分析嘛

你讲了一大堆,又说不清楚,想帮也没办法帮啊!!

-----------------------------

很想帮你,不过真的不知道你在说什么
__宫雅沫つ

2024-11-25 13:09:29

[^"] 代替 \b