我如何在正则表达式中表达这一点,以便在'#include'之前知道是否存在非空白字符?
var kword_search = "#include<iostream.>something";
/^?+\s*#include$/.test(kword_search)//must return false
var kword_search = "asffs#include<iostream.>something";
/^?+\s*#include$/.test(kword_search)//must return true
正则表达式并不是很好
答案 0 :(得分:2)
您可能正在寻找类似/^[\S ]#include/
说明:
^ beginning of the string
[\S ] any character of: non-whitespace (all but
\n, \r, \t, \f, and " "), ' '
#include/ '#include/'
正则表达式快速参考
[abc] A single character: a, b or c
[^abc] Any single character but a, b, or c
[a-z] Any single character in the range a-z
[a-zA-Z] Any single character in the range a-z or A-Z
^ Start of line
$ End of line
\A Start of string
\z End of string
. Any single character
\s Any whitespace character
\S Any non-whitespace character
\d Any digit
\D Any non-digit
\w Any word character (letter, number, underscore)
\W Any non-word character
\b Any word boundary character
(...) Capture everything enclosed
(a|b) a or b
? Zero or one
* Zero or more
+ One or more
答案 1 :(得分:0)
使用带有适当量词的否定字符类。并从末尾删除$
锚点,您的字符串不会以include
结尾:
/^[^\s]+#include/.test(kword_search)
答案 2 :(得分:0)
答案 3 :(得分:0)
/^(?:\s*|)#include/.test(kword_search)