Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 搜索不带';不要从一行的开头开始_Regex - Fatal编程技术网

Regex 搜索不带';不要从一行的开头开始

Regex 搜索不带';不要从一行的开头开始,regex,Regex,我只知道如何从一行的开头开始。但我想排除开头。 更具体一些 我想搜索“导入”这个词。但我不想要这样的东西: import java.util.*; 正如预期的那样,这不起作用:^用于排除线路起点 另外,在字符类中,^具有不同的含义,因此没有运气 那么什么是好方法呢?@AndyLester我还没有足够的代表对您的答案发表评论,但是它允许字符串以“import”开头,只要在同一字符串中再次找到import。使用.+允许除换行符以外的任何字符优先。。。包括字符序列“import”。因此,这取决于OP

我只知道如何从一行的开头开始。但我想排除开头。 更具体一些

我想搜索“导入”这个词。但我不想要这样的东西:

import java.util.*;
正如预期的那样,这不起作用:
^
用于排除线路起点

另外,在字符类中,
^
具有不同的含义,因此没有运气


那么什么是好方法呢?

@AndyLester我还没有足够的代表对您的答案发表评论,但是它允许字符串以“import”开头,只要在同一字符串中再次找到import。使用.+允许除换行符以外的任何字符优先。。。包括字符序列“import”。因此,这取决于OP想要确定的是“特性”还是“缺陷”@clankill3r优先于您的问题1)不以import开头,或2)在字符串中除开头以外的其他地方包含import

我认为你应该使用的是消极的前瞻-解释道

要使用正则表达式检查字符串是否以“import”开头,请执行以下操作:

^(?!导入)

要检查字符串是否不以“import”开头,而是包含“import”:


@AndyLester我还没有足够的代表对您的答案发表评论,但是它允许字符串以“import”开头,只要在同一字符串中再次找到import。使用.+允许除换行符以外的任何字符优先。。。包括字符序列“import”。因此,这取决于OP想要确定的是“特性”还是“缺陷”@clankill3r优先于您的问题1)不以import开头,或2)在字符串中除开头以外的其他地方包含import

我认为你应该使用的是消极的前瞻-解释道

要使用正则表达式检查字符串是否以“import”开头,请执行以下操作:

^(?!导入)

要检查字符串是否不以“import”开头,而是包含“import”:

上面写着“在行首找到我导入”

所以你想要的是任何带有“import”的行,但前面还有其他东西,对吗

^.+import
这表示“在行的开头找到我导入”

所以你想要的是任何带有“import”的行,但前面还有其他东西,对吗

^.+import
尝试此操作。这将找不到开头的
import
。请参阅演示

尝试此操作。这将找不到开头的
import
。请参阅演示


如果单词不是从一行的开头开始的,那不是意味着单词前面有一些字符,任何字符吗?你不能只做
myString=myString.substring(1)
。这将切断第一个字符。然后您可以进行搜索,因为该行现在将读取
mport java.util.*
,它不应该匹配第一个
import
@IceManin,我在文本编辑器中搜索,而不是用java。@WilliamPrice damn,我想复杂点:)正则表达式对我来说有点新。如果这个词不是从一行的开头开始的,那不是意味着有一些字符,任何字符,在单词之前?你不能只做
myString=myString.substring(1)
。这将切断第一个字符。然后您可以进行搜索,因为该行现在将读取
mport java.util.*
,它不应该匹配第一个导入的
@IceManin,我在文本编辑器中搜索,而不是用java。@WilliamPrice damn,我在想:)正则表达式对我来说是新的。
^.+import
(?!^)\bimport\b