Regex //divxlc在文本分析中的R书代码

umuewwlo  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(103)

我目前正在学习SilgeRobinson的R书中的文本分析,鉴于我的新手身份,我无法理解这个正则表达式"^chapter [\\divxlc]"在整理文本时是如何计算章节编号的。我已经检查了regex101引擎(我可能也忽略了如何使它为我所需要的工作)。有人能帮我弄明白吗?这就是我所指的代码:

tidy_books <- austen_books() %>%
  group_by(book) %>%
  mutate(linenumber = row_number(),
     chapter = cumsum(str_detect(text, regex("^chapter [\\divxlc]", 
                                             ignore_case = TRUE)))) %>%
 ungroup() %>%
 unnest_tokens(word, text)

我的看法是,这将确定章节编号也写在罗马数字(\d将足以小数,我想)。是这样吗?这是一个通用的公式来识别章节编号,而不管它的编号?如果是这样的话,它将如何识别第三章,第二十一章等,其中一些罗马数字重复?
我将感谢任何指示或参考,以寻求澄清。
先谢谢你了。

zrfyljdw

zrfyljdw1#

字符类匹配方括号之间的单个字符。如果“chapter(space)”后面的字符是罗马数字,那么您已经有了一个匹配项,并且不必特别关心它后面是什么。您可以添加+来表示“一个或多个”,但这不会改变匹配的行,省略它可以节省一些周期。

相关问题