46

我正在尝试使用正则表达式来查找字符串的一部分并选择该字符串之前的所有内容。因此,例如,如果我的字符串是this/is/just.some/test.txt/some/other,我想搜索.txt,当我找到它时,选择之前和之前的所有内容.txt

4

6 回答 6

77

执行以下正则表达式后,您的答案在第一次捕获中。

/^(.*?)\.txt/
于 2013-08-23T23:18:00.190 回答
56

这匹配到“.txt”的所有内容(不包括它):

^.*(?=(\.txt))

于 2013-08-23T23:19:23.913 回答
15

你可以做...

(.*?)\.txt

在这里测试..

于 2013-08-23T23:23:34.037 回答
2

最多并包括txt您需要像这样更改您的正则表达式:

^(.*?\\.txt)
于 2015-05-07T15:42:49.910 回答
0
((\n.*){0,3})(.*)\W*\.txt

这将选择特定单词“.txt”之前的所有内容,包括不同行中的任何上下文,最多 3 行

于 2019-09-24T09:50:20.167 回答
0
^(.*)text

这对我有用,但我实际上也在尝试获取字符串之后的所有内容。表达式的第一部分应该回答你的问题。

^(.*)text([\s\S]*)$

where^(.*)取所有之前并包括文本,而([\s\S]*)$取所有之后并包括文本。在regexr.com/6cpqg对其进行了测试。

参考:

于 2022-01-05T22:45:14.177 回答