对不起,我无法提出一个好的问题:
此正则表达式应找到单词“ period”,后跟一个空格和一个数字:
period.*(?=\s[0-9]{1})|alternative
如果我输入行TEST 2019 to period 3.csv
,则正则表达式匹配period
。
如果我输入行TEST period 3 2019.csv
,则正则表达式匹配period 3
。
我参加的比赛是period 3
您可以从regex101的此屏幕截图中了解我的意思:
目前,我已经使用如下所示的正向后角解决了这个问题:
(?<=period\s)[0-9]{1,4}|alternative
这与'period'之后的数字匹配,我可以为我的特定目的添加'period'。但是我不明白为什么会得到不同的比赛。
答案 0 :(得分:1)
句点结束后不需要library(plotly)
source("~/Werk/BigData/Process Mining/R/PM_Globals.R", local = TRUE)
source("~/Werk/BigData/Process Mining/PromView/PromView/QuickFacts.R", local = TRUE)
source("~/Werk/BigData/Process Mining/PromView/PromView/LoadData.R", local = TRUE)
source("~/Werk/BigData/Process Mining/PromView/PromView/Filters.R", local = TRUE)
server <- function(input, output, session) {
output$menu <- renderMenu({
sidebarMenu(
menuItem("Quick facts", tabName = "tab1"),
menuItem("Doorloop", tabName = "tab2")
)
})
isolate({updateTabItems(session, "tabs", "tab1")})
}
,因此只需将其从正则表达式中删除并像这样写
.*
这从字面上匹配period(?=\s[0-9]{1})|alternative
,后跟一个空格和一个数字(以您的积极眼光确保)。另外,您实际上不需要写period
,因为这是默认设置,而且很多余。另外,如果您不希望句号在较大的文本中部分匹配,请在其前面使用单词边界{1}
并将正则表达式更改为此,
\b
此外,您在\bperiod(?=\s[0-9])|alternative
后面的外观与文本(?<=period\s)[0-9]{1,4}|alternative
的匹配是不正确的,实际上,后面的外观将仅匹配period
前的数字和一个空格。>