用于突出显示除锚点href标记文本之外的文本的正则表达式

时间:2018-03-09 07:52:30

标签: javascript regex replace

实际上我需要突出显示文本“google”这是锚标记的链接文本,但每当我使用下面的代码突出显示“google”时,它也会突出显示锚点网址中的“google”文本{ {1}}代码,因此我不想突出显示library(shiny) library(dplyr) library(ggplot2) mtcars ui <- fluidPage( titlePanel("Mtcars example"), radioButtons("data", "Include:", choices = c('hp','disp','cyl')), sidebarLayout(sidebarPanel(selectInput("am","am:", choices = unique(mtcars$am)) ), mainPanel( plotOutput("mtcarsPlot") ) ) ) server <- function(input, output) { output$mtcarsPlot <- renderPlot({ ggplot( subset(mtcars, am == input$am), aes_string(x = 'mpg', y = input$data)) + geom_point() }) } shinyApp(ui = ui, server = server) 网址,因为该链接无效。

href

提前致谢。

1 个答案:

答案 0 :(得分:0)

假设您在html中有这个:

<a href="www.google.com">www.google.com</a>

如果我理解您的问题,您只需要></a>之间的网址,因为您不信任href引用的网址。

如果是这样,您只需要以下正则表达式

(?<=>)((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)(?=<\/a>)
  • (?<=>)在'&gt;'之后定位自己charachter
  • ((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)仅选择网址(请参阅this link
  • (?=<\/a>)如果后跟</a>
  • ,则验证到目前为止所选的内容

现场演示here