r - 我可以在 R 中使用向量作为正则表达式模式参数吗?

标签 r regex nlp linguistics

我想根据类型组合(例如摩擦音+爆破音、爆破音+摩擦音、爆破音+液体、 ETC。)。我创建了一个连接相应音素的向量:

plosives <- c("p", "b", "t", "d", "k", "g")  
fricatives <- c("f", "v", "s", "z", "ʂ", "ʐ", "x")

首先编写这些向量的目的是在编写不同的正则表达式时速记并快速引用每个辅音类型。我想搜索这两种类型(FP、PF、PP、FF)中的所有两个辅音组合。如何使用这些向量作为模式参数在 R 中编写正则表达式?

我知道crossing (fricatives, plosives)将所有组合作为字符串提供给我,但在以下位置使用它时出现错误:CC.all <- str_extract_all(ruphondict$IPA, crossing (fricatives, plosives), simplify = T)

最佳答案

形成正则表达式的基本 R 方法。

paste(
  apply(expand.grid(plosives, fricatives), 1, paste0, collapse = ""),
  collapse = "|"
)

请注意,这实际上是一句单行话。

paste(apply(expand.grid(plosives, fricatives), 1, paste0, collapse = ""),collapse = "|")

关于r - 我可以在 R 中使用向量作为正则表达式模式参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72716818/

相关文章:

regex - Google Analytics RegEx:包括所有带有字符串“example”的URL,但排除那些带有“.com/example”的URL

java - Unicode 字符正则表达式,捕获组

java - 如何在文本中定义人名(Java)

tags - 如何自动标记所需的内容,算法和建议

r - ggplot2 分面边距

r - 用数值填充在 geom_histogram 中不起作用的美学

javascript - 在一定字符长度后替换字符

R 如何在给定起点和终点的 Tibble 中生成序列

在 R 中使用 lapply 进行 t 检验时删除 NA

java - Java 中使用位置索引进行流标记