Regex 你如何用正则表达式表达它?

Regex 你如何用正则表达式表达它?,regex,Regex,我希望我的条件在找到最接近的(从左起)#include时返回true,该条件前面有 \s*~~\s*(在~~之前或之后没有空格或空格数) 这应该是事实: <stdio.h>~~#include<iostream.h> #include<conio.h> int main() { return 0; } <stdio.h> ~~#include<iostream.h> #include<conio.h> int ma

我希望我的条件在找到最接近的(从左起)#include时返回true,该条件前面有 \s*~~\s*(在~~之前或之后没有空格或空格数)

这应该是事实:

<stdio.h>~~#include<iostream.h> #include<conio.h> int main() { return 0; }

<stdio.h>     ~~#include<iostream.h> #include<conio.h> int main() { return 0; }

<stdio.h>~~  #include    <iostream.h> #include<conio.h> int main() { return 0; }
/~~\s*?#包含\s*?/g
这样行吗


您已经尝试了什么正则表达式?为什么它没有像你预期的那样工作?发生了什么事?@alexWayne/*~\s*#include*/@fireflieslive应该
abc~~#include#include int main(){return 0;}
match?字符串是否总是以
开头?@alexWayne:1。应该匹配。它只是寻找存在~~在第一次出现#include之前。@fireflieslive我不是alexWayne xD,但好吧,你试过alsotang的答案吗?但是可以缩短到
~\s*#include
。我认为您的正则表达式也会接受
abc~#include#include int main(){return 0;}
,我认为OP不打算匹配它。此外,不鼓励在OP没有任何尝试的情况下发布问题的答案。
<stdio.h>~~abc#include<iostream.h> #include<conio.h> int main() { return 0; }
 / *~~\s*#include*/
/~~\s*?#include\s*?<.*?>/g