我正在寻找一个单行正则表达式来匹配日志文件中的单词"Error“,并且为了调试的目的,我需要在包含单词"Error”的行上面和下面得到几行。
例如:我需要匹配单词"TypeError“,并在这条匹配线上和下面得到其他几行。至少我还需要十行。有人能帮忙吗?
=>下面的日志文件内容
**TypeError**: Parameter 'url' must be a string, not undefined
at Url.parse (url.js:107:11)
at urlParse (url.js:101:5)
at Obj
我希望排除包含特定单词或短语的匹配。例如,我如何才能只匹配第1行和第3行?\b单词边界并不像我预期的那样直观地工作。
foo.js # match
foo_test.js # do not match
foo.ts # match
fun_tset.js # match
fun_tset_test.ts # do not match
更新
我想排除的是在扩展名前显式以_test结尾的字符串。起初,我有类似于[^_test]的东西,但这也排除了这些字符的任何组合(如第3行)。
在这种情况下,如果字符串包含、特定单词或字母,则需要使用Javascript进行测试。
示例字符串为:
// In the first 3 strings, I need "C" letter to be checked in the string
C is language is required.
We need a C language dev.
Looking for a dev who knows C!
// Keyword is Artificial Intelligence
We need looking for someone who knows A
我试图返回所有单词的计数,而不是方括号中的单词。所以考虑到..
[don't match these words] but do match these
我得到最后四个单词的计数为4。
这在.net中有效:
\b(?<!\[)[\w']+(?!\])\b
但它不能在Javascript中工作,因为它不支持后视
对于纯js regex解决方案有什么想法吗?
是否可以搜索一系列单词并提取下一个单词。例如,在txt文件中,搜索单词'Test‘,然后直接返回该单词?
Test.txt
This is a test to test the function of the python code in the test environ_ment
我希望得到结果:
to, the, environ_ment
如何使用JS regex将所有出现的空格替换为单词SPACE (如果在括号内)?所以,我想要的是:
myString = "a scentence (another scentence between brackets)"
myReplacedString = myString.replace(/*some regex*/)
//myReplacedString is now "a scentence (anotherSPACEscentenceSPACEbetweenSPACEbrackets)"
编辑:我尝试的是这样(我对正则表达式很陌生)
myReplac
我想要匹配所有包含字母‘a’,‘e’,‘i’,‘o’和‘u’的英文单词,并且按该顺序匹配一次,并且不匹配语料库中的任何其他英语单词。到目前为止,我可以从语料库中找到所有a,e,i,o,u的单词,但有些单词的元音出现了不止一次,例如,我得到的结果是'abietineous‘,而我只查找像'abstemious’这样的单词。
下面是我的代码片段。请协助修复我的RE以获得这些结果。
[w for w in wordlist if re.search('[a].* [e].* [i].* [o].* [u].', w)]
注意:我希望单词只包含a,e,i,o,u-,并且
除下列单词外,我想匹配所有单词:
1) any-random-word
2) any-random-word/
3) any-random-word/123
4) any-random-word/abcdef
这样跟随类似的词就可以匹配了。
1) any-random-word123
2) any-random-word(any non-word character other than '/')123
2) any-random-wordabcdef
4) any-random-word(any non-word character other than '/&
当在句点或逗号之后没有空格时,我想写一个regex来查找,除非连续有三个句点,在这种情况下,在后面有另一个单词字符。
例如。
"Hello.how are you" -> Match
"Sounds good..." -> No Match
"...are you sure?" -> No Match
到目前为止,这就是我所拥有的(后面的引号也很好),但是它找到了第三个示例的匹配项,我不想这样做。
/[.,][^\s"”.]/g
我如何指定\.\.\.\w不应该匹配,但是任何其他\.\w都应该匹配?
(使用js)
我正试图在我的应用程序中创建一个正则表达式,并且很难理解它。我已经创建了一个正则表达式,但我仍然希望修改它,使其不匹配特定的内容。我需要为iOS和Android创建regex。
这是我的领地
(?:rahul[\s"'?.!:s()\{\}])
这是我的测试字符串
rahul hello rahul! vyas and rahul? and rahul. and rahul: and rahul and rahul( and rahul) and rahul{ rahul.shiv rahuls vyas rips rahul!!
这是我用来创建regex 的站点
我真正想要
我一直在使用单词边界来查找字符串中的确切单词,但我刚刚了解到它们忽略了非单词字符。
因此,当我在字符串"height (in stories)“中查找"height”时,我得到了预期的结果:
p = re.compile(r'\b%s\b' % 'height')
p.search('height (in stories)') # match
但是当我在字符串"height (in stories)“中查找"height (in stories)”时,我得不到匹配:
p = re.compile(r'\b%
我们已经编写了一些错误的代码,在对象属性名称中有一个多余的单词,我们试图使用搜索和替换在整个应用程序中找到这些罪魁祸首。
举个例子,假设一个person对象的属性也包含单词person,即
var person = new Person();
person.personName = 'Mark';
person.personAge = 20;
在本例中,我们知道单词person,但不知道在整个应用程序中对该对象设置的所有属性。
使用Regex,我们是否能够找到任何匹配的person*,其中通配符总是大写字母,即camelCase?我们希望将personName替换为name。
假设我想编写一个正则表达式,将单词Dog替换为单词Cat。
例如:
Dogs are scary.
将成为:
Cats are scary.
但我希望仅当单词Dog不在引号内时才应用此正则表达式。
例如:
Dogs are scary but my mom told me that "Dogs are cute"
将成为:
Cats are scary but my mom told me that "Dogs are cute"
我不知道该怎么做。请帮帮我:)
我有下面的代码,它可以从存在某个单词的文本中返回一行
with open('/Users/Statistical_NLP/Project/text.txt') as f:
haystack = f.read()
with open('/Users/Statistical_NLP/Project/test.txt') as f:
for line in f:
needle = line.strip()
pattern = '^.*{}.*$'.format(re.escape(needle))