[英]In C# what is the correct RegEx to get get words between two words, but exclude the boundaries?
給定以下字符串:
從運行時23s的數據庫中的schema.table中加載數據。
我想從字符串中提取schema.table
。 目前重新
我當前正在使用以下模式:: :(\\s+)(.+)(\\s+)from
來自此注釋的幫助: 使用正則表達式捕獲兩個單詞之間的文本
我想知道我怎么能修改此正則表達式來排除:
與from
比賽。
使用match但不捕獲(?: )
:),它為工作正常進行提供了錨點( :
和\\s
),但未捕獲為最終輸出。
然后,我們可以從組捕獲中簡單地獲取以下文本,我將其命名為Text
以輕松提取它:
string text = "Loaded data from: schema.table from database with runtime 23s.";
string pattern = @"(?::\s)(?<Text>[^\s]+)";
// Outputs "schema.table"
Console.WriteLine (Regex.Match(text, pattern).Groups["Text"].Value);
否則,如果沒有命名捕獲,它將是該組的下標1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.