原创 .NET正則基礎之——平衡組

1        概述 平衡組是微軟在.NET中提出的一個概念,主要是結合幾種正則語法規則,提供對配對出現的嵌套結構的匹配。.NET是目前對正則支持最完備、功能最強大的語言平臺之一,而平衡組正是其強大功能的外在表現,也是比較實用的文本處

原创 正則基礎之——神奇的轉義

1        概述 這或許會是一個讓人迷惑,甚至感到混亂的話題,但也正因爲如此,纔有了討論的必要。 在正則中,一些具有特殊意義的字符,或是字符序列,被稱作元字符,如“?”表示被修飾的子表達式匹配0次或1次,“(?i)”表示忽略大小寫

原创 正則基礎之——貪婪與非貪婪模式

  1        概述 貪婪與非貪婪模式影響的是被量詞修飾的子表達式的匹配行爲,貪婪模式在整個表達式匹配成功的前提下,儘可能多的匹配,而非貪婪模式在整個表達式匹配成功的前提下,儘可能少的匹配。非貪婪模式只被部分NFA引擎所支持。 屬於

原创 正則匹配原理之——逆序環視深入

說明:部分內容有待進一步研究和修正,因爲最近工作太忙,暫時抽不出時間來,未研究過的可以跳過這一篇,想研究的不要被我的思路所左右了,有研究清楚的還請指正 1        問題引出 前幾天在CSDN論壇遇到這樣一個問題: var str

原创 正則表達式學習參考

正則表達式學習參考 1       概述 正則表達式(Regular Expression)是一種匹配模式,描述的是一串文本的特徵。 正如自然語言中“高大”、“堅固”等詞語抽象出來描述事物特徵一樣,正則表達式就是字符的高度抽象,用來描述字

原创 正則應用之——逆序環視探索

1        問題引出 前幾天在CSDN論壇遇到這樣一個問題。 我要通過正則分別取出下面 <font color="#008000"> 與 </font> 之間的字符串 1、在 <font color="#008000"> 與 <

原创 .NET正則基礎之——正則委託

1        概述 一般的正則替換,只能對匹配的子串做簡單的處理,且只能是做string類型的處理之後,作爲替換文本替換匹配子串,可以實現的功能比較有限。.NET的Replace()方法中的replacement參數,不僅可以是字符

原创 正則基礎之——非捕獲組

  非捕獲組:(?:Expression) 接觸正則表達式不久的人,通常都會對非捕獲比較迷惑,爲什麼要有非捕獲組?作用是什麼?應該在什麼場景下使用? 說到非捕獲組,首先要了解什麼是捕獲組,詳細內容參考 正則基礎之——捕獲組(captur

原创 .NET正則基礎——.NET正則類及方法應用

1        概述 初學正則時,對於Regex類不熟悉,遇到問題不知道該用哪種方法解決,本文結合一些正則應用的典型應用場景,介紹一下Regex類的基本應用。這裏重點進行.NET類的介紹,對於正則的運用,不做深入探討。 正則的應用最終

原创 正則基礎之——捕獲組(capture group)

1        概述 1.1     什麼是捕獲組 捕獲組就是把正則表達式中子表達式匹配的內容,保存到內存中以數字編號或顯式命名的組裏,方便後面引用。當然,這種引用既可以是在正則表達式內部,也可以是在正則表達式外部。 捕獲組有兩種

原创 正則應用之——日期正則表達式

1        概述 首先需要說明的一點,無論是Winform,還是Webform,都有很成熟的日曆控件,無論從易用性還是可擴展性上看,日期的選擇和校驗還是用日曆控件來實現比較好。 前幾天在CSDN多個版塊看到需要日期正則的帖子,所以

原创 正則基礎之——\b 單詞邊界

1        概述 “\b”匹配單詞邊界,不匹配任何字符。 “\b”匹配的只是一個位置,這個位置的一側是構成單詞的字符,另一側爲非單詞字符、字符串的開始或結束位置。“\b”是零寬度的。 基本上所有的資料裏都會說“\b”是單詞邊界,

原创 .NET正則基礎之——.NET正則匹配模式

1        概述 匹配模式指的是一些可以改變正則表達式匹配行爲的選項或修飾符。不同的語言支持的匹配模式不同,使用的方式也不同。 一般可分爲全局和內聯兩種。下面主要介紹.NET中的匹配模式,其它語言的匹配模式,後續視情況補充。 2 

原创 正則基礎之——環視

環視(Lookaround) 1       環視基礎 環視只進行子表達式的匹配,不佔有字符,匹配到的內容不保存到最終的匹配結果,是零寬度的。環視匹配的最終結果就是一個位置。 環視的作用相當於對所在位置加了一個附加條件,只有滿足這個條件,

原创 正則基礎之——反向引用

1        概述 捕獲組捕獲到的內容,不僅可以在正則表達式外部通過程序進行引用,也可以在正則表達式內部進行引用,這種引用方式就是反向引用。要了解反向引用,首先要了解捕獲組,關於捕獲組,參考 正則基礎之——捕獲組(capture g