我已经进行了大量的搜索,但我认为这只是我的头脑。我无法弄清楚我应该做些什么来解析这个文本。
让我说我有字符串: 案例1:"嗨!你好,你今天过得怎么样?#34; 案例2:"嗨!你好,你今天过得怎么样?#34; 案例3:"嗨!你好,今天做你" 案例4:"嗨!你好,今天你好吗?"
如果我想匹配任何文本的地方,那么"你好"那么任何文字(但不是",做"并以&#34结束;今天",怎么做?
在http://www.regexpal.com/上我使用(hello)((?!, doing).*)
不会选择案例3,但会选择案例2和4,当我希望它只选择案例1.有什么想法吗?
答案 0 :(得分:1)
您可以使用
^.*?hello(?:(?!,\s+doing).)*today$
请参阅regex demo
<强>详情:
^
- 字符串开头.*?
- 除了换行符之外的任何0 +字符,尽可能少hello
- 文字子字符串(?:(?!,\s+doing).)*
- 除了换行符之外的零个或多个字符,尽可能多,不启动定义为的序列:
,
- 逗号\s+
- 1+空格doing
- 文字子字符串today
- 文字子字符串$
- 字符串结束。