小编hwn*_*wnd的帖子

动词在回溯和失败后起作用

我最近在PCRE- (Perl兼容的正则表达式)文档中阅读并且遇到了一些有规则表达的有趣技巧.当我继续阅读并耗尽自己时,我因为使用​​一些(*...)模式而产生了一些混乱而停止了.

我的问题和困惑与(*PRUNE)(*FAIL)

现在对于参考(*SKIP)行为(*PRUNE),除了如果模式是未锚定的,则不等于前一个字符,而是到达主题中遇到的位置(*SKIP).

文档说明如果模式的其余部分不匹配,则(*PRUNE)导致匹配在主题中的当前起始位置失败.它表示否定断言的(*FAIL)同义词(?!).在模式中的给定位置强制匹配失败.

所以基本上(*FAIL)表现得像一个失败的否定断言,并且是一个同义词(?!)

并且如果存在导致回溯到达的后续匹配故障,则导致匹配在主题(*PRUNE)中的当前起始位置处失败.

当谈到失败的时候,这些有何不同?

任何人都可以提供如何正确实施和使用这些示例吗?

regex perl pcre

24
推荐指数
1
解决办法
1223
查看次数

javascript正则表达式的正向前瞻

我一直搞乱了正则表达式..我觉得我很难......我看过一个代码:

function myFunction() {
   var str = "Is this all there is";
   var patt1 = /is(?= all)/;
   var result = str.match(patt1);
   document.getElementById("demo").innerHTML = result;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,它给了我输出is.

但当我添加喜欢/is(?=there)/它没有输出任何东西.我是正规表达的新手..希望你们可以帮助理解正则表达式中的积极前瞻.我已经按照许多教程它没有帮助我.

希望你们能帮助我.谢谢!

javascript regex

21
推荐指数
2
解决办法
1万
查看次数

如果String以target结尾,则Regular Expression仅匹配

我需要一个正则表达式,如果它以我正在寻找的目标结束,它只会匹配String.我需要找到一个具有特定扩展名的文件,问题是这个扩展名还包含在其他文件中.例如,我有两个名为的文件

B82177_2014-07-08T141507758Z.ccf
Run Code Online (Sandbox Code Playgroud)

B82177_2014-07-08T141507758Z.ccf.done
Run Code Online (Sandbox Code Playgroud)

我只想抓住第一个,我的模式是:

.*\.ccf
Run Code Online (Sandbox Code Playgroud)

但这抓住了两者.

任何建议表示赞赏,我是正则表达式的新手.

regex

19
推荐指数
2
解决办法
4万
查看次数

R中的重叠比赛

我已经搜索过并且能够找到此论坛讨论以实现重叠匹配的效果.

我还发现了以下SO问题,即找到索引来执行此任务,但是无法找到任何关于在R语言中抓取重叠匹配的简洁信息.

我可以在支持(PCRE)的大多数语言中通过使用正向前端断言执行此任务,同时在先行内部实现捕获组以捕获重叠的匹配.

但是,虽然实际执行此操作的方式与其他语言相同,但perl=T在R中使用时,结果不会产生.

> x <- 'ACCACCACCAC'
> regmatches(x, gregexpr('(?=([AC]C))', x, perl=T))[[1]]
[1] "" "" "" "" "" "" ""
Run Code Online (Sandbox Code Playgroud)

使用stringistringr包都是一样的.

> library(stringi)
> library(stringr)
> stri_extract_all_regex(x, '(?=([AC]C))')[[1]]
[1] "" "" "" "" "" "" ""
> str_extract_all(x, perl('(?=([AC]C))'))[[1]]
[1] "" "" "" "" "" "" ""
Run Code Online (Sandbox Code Playgroud)

执行此操作时应返回的正确结果是:

[1] "AC" "CC" "AC" "CC" "AC" "CC" "AC"
Run Code Online (Sandbox Code Playgroud)

编辑

  1. 我很清楚,regmatches对于捕获的匹配不能很好地工作,但是在regmatches中究竟什么导致了这种行为?为什么没有返回结果?我正在寻找一个有点详细的答案.

  2. stringi和 …

regex string r dna-sequence stringi

14
推荐指数
3
解决办法
1687
查看次数

regex_token_iterator和regex_iterator有什么区别?

regex_token_iterator和regex_iterator之间有什么区别吗?

看来他们都做同样的工作,但不确定哪一个是更好的表现?

c++ regex

12
推荐指数
1
解决办法
2488
查看次数

notepad ++删除除正则表达式匹配的所有文本

我有一个文本文件,其中包含有关录音的信息,包括曲目编号和名称,我想删除除曲目编号和曲目名称之外的所有其他文本.例如,文本文件如下所示:

text text text text
text text text text text text text text
text text text text text text text text text text text text
text text text text
text text text text text text text text
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

d1t01 - trackname

d1t02 - trackname

d1t03 - trackname

d1t04 - …
Run Code Online (Sandbox Code Playgroud)

regex notepad++

9
推荐指数
2
解决办法
2万
查看次数

R - 从字符串右侧第 n 次出现字符后提取信息

我见过很多提取 w/ 的迭代,gsub但它们主要处理从左到右或在一次发生后提取。我想从右到左匹配,计算 4 次出现-,匹配第 3 次和第 4 次出现之间的所有内容。

例如:

string                       outcome
here-are-some-words-to-try   some
a-b-c-d-e-f-g-h-i            f
Run Code Online (Sandbox Code Playgroud)

以下是我尝试使用的一些参考资料:

regex string parsing r gsub

9
推荐指数
1
解决办法
1万
查看次数

R string删除分割时的标点符号

假设我有一个字符串,例如以下内容.

x <- 'The world is at end. What do you think?   I am going crazy!    These people are too calm.'
Run Code Online (Sandbox Code Playgroud)

我只需要在标点符号!?.和后跟空格上进行拆分并保留标点符号.

这会删除标点并在分割部分留下前导空格

vec <- strsplit(x, '[!?.][:space:]*')
Run Code Online (Sandbox Code Playgroud)

如何分割留下标点符号的句子?

regex r

8
推荐指数
2
解决办法
2447
查看次数

正则表达式去除处理为字符串的前导零

我有这样的数字需要删除前导零.

这就是我需要的:

00000004334300343 - > 4334300343

0003030435243 - > 3030435243

由于我不熟悉正则表达式,所以我无法理解这一点.这不起作用:

(^0)
Run Code Online (Sandbox Code Playgroud)

java regex

8
推荐指数
3
解决办法
2万
查看次数

Php获取标签之间的字符串

我得到了一个像这样的字符串(Joomla all video plugin)

{Vimeo}123456789{/Vimeo} 
Run Code Online (Sandbox Code Playgroud)

其中123456789是可变的,我该如何提取?我应该使用正则表达式吗?

php regex

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

regex ×10

r ×3

string ×2

c++ ×1

dna-sequence ×1

gsub ×1

java ×1

javascript ×1

notepad++ ×1

parsing ×1

pcre ×1

perl ×1

php ×1

stringi ×1