- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 R 中,我有一列应该只包含一个词。它是通过获取另一列的内容并使用正则表达式仅保留最后一个字来创建的。但是,对于某些行,这不起作用,在这种情况下,R 只是从第一列复制内容。这是我的R
df$precedingWord <- gsub(".*?\\W*(\\w+-?)\\W*$","\\1", df$leftContext, perl=TRUE)
precedingWord 应该只包含一个词。它是使用正则表达式从 leftContext 中提取的。这总体上工作正常,但不适用于变音符号。 leftContext 中的几行包含带变音符号的字母,例如 é
和 à
。出于某种原因,R 忽略这些项目完全并简单地将整个内容复制到 precedingWord。我觉得这很奇怪,因为正则表达式几乎不可能匹配整个事物 - 如您所见 here .在示例中,测试字符串 是 leftContext,Substitution 应该是 *precedingWord。
正如您在上面的示例中看到的,在线正则表达式测试器中的输出与我得到的输出不同。我只是得到了 leftContext 的精确副本。这并不意味着在线测试器中的输出就是想要的。现在该工具将带有变音符号的字母视为非单词字符,因此不会将其标记为我想要的输出。但实际上,我想将它们威胁为单词字符,以便它们有资格输出。
如果这是输入:
Un premier projet prévoit que l'établissement verserait 11 FF par an et par élève du secondaire et 30 FF par étudiant universitaire, une somme à évaluer et à
Outre le prêt-à-
And à
Sur base de ces données, on cherchera à
Ce sera encore le cas ce vendredi 19 juillet dans l'é
那么这就是我期望的输出
à
prêt-à-
à
à
é
这是我已有的正则表达式
.*?\W*(\w+?-?)\W*$
我已经在我的项目中使用了 stringi,所以如果它提供了我可以使用的解决方案。
最佳答案
在类似 Perl 的正则表达式中,您可以将任何 Unicode 字母与 \p{L}
速记类匹配,所有非 Unicode 字符都可以与反向类 \匹配P{L}
。参见 regular-expressions.info :
You can match a single character belonging to the "letter" category with
\p{L}
. You can match a single character not belonging to that category with\P{L}
.
因此,您可以使用的正则表达式是
df$precedingWord <- gsub(".*?\\P{L}*(\\p{L}+-?)\\P{L}*$","\\1", df$leftContext, perl=TRUE)
关于regex - R 中的变音符号和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639977/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!