簡體   English   中英

兩個字符之間的正則表達式匹配

[英]Regex match between two characters

在以下示例字符串中:

$cd = "..\folder\file.xml"

匹配我使用的最后一個斜杠后的所有內容:

[^\\]+$

或匹配字符序列中的所有內容並忽略最后的引號:

(file\.[^"]*)

我將如何組合這些以匹配從最后一個斜杠到行尾的所有內容而忽略最后的引號?

正則表達式

([^\/]+). 

將為您解決這個問題。

'[^/]' 表示捕獲除 / 之外的所有字符(反斜杠用於轉義 / 字符,在某些情況下您可能不需要對其進行轉義)

'+' 表示前一個或多個(前一個 = [^/])

'.' 表示匹配除換行符以外的任何字符

周圍的一切,但括號“” 將確保您捕獲斜杠之前的所有內容,而不是后面的字符(在您的情況下是尾隨引號)。

如果您在使用正則表達式時遇到問題, https://regex101.com/是一個非常好的網站,可以幫助您解決問題。 該網站還提供有關您使用正則表達式實際執行/嘗試的操作的實時信息。

你可以使用這個:

([^\/]+)(?="$)

它將匹配最后一個斜杠之后的任何內容,直到行尾的引號"$ (不包括在匹配中)。

演示: https : //regex101.com/r/mY9nI1/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM