這個小例子的源碼在http://download.csdn.net/source/1239641
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions; namespace _RegularExpression_ { public partial class RegularExpression : Form { public RegularExpression() { InitializeComponent(); // do initials comboBox1.Items.Add(@"--------------------------------------------------------------------------------------------------------"); comboBox1.Items.Add(@"[/u4e00-/u9fa5]:匹配中文字符"); comboBox1.Items.Add(@"[^/x00-/xff]:匹配雙字節字符(包括漢字在內)"); comboBox1.Items.Add(@"^[0-9]*[1-9][0-9]*$:匹配正整數"); comboBox1.Items.Add(@"^((-/d+)|(0+))$:匹配非正整數(負整數 + 0)"); comboBox1.Items.Add(@"^-?/d+$:匹配整數 "); comboBox1.Items.Add(@"--------------------------------------------------------------------------------------------------------"); //comboBox1.Items.Add(@"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$:匹配正浮點數"); comboBox1.Items.Add(@"^/d+(/./d+)?$:匹配非負浮點數(正浮點數 + 0) "); comboBox1.Items.Add(@"^(-?/d+)(/./d+)?$:匹配浮點數"); comboBox1.Items.Add(@"^[A-Za-z]+$:匹配英文字母組成的字符串"); comboBox1.Items.Add(@"^[A-Z]+$:匹配英文字母大寫字符串"); comboBox1.Items.Add(@"^[a-z]+$:匹配由26個英文字母的小寫組成的字符串"); comboBox1.Items.Add(@"--------------------------------------------------------------------------------------------------------"); comboBox1.Items.Add(@"^[A-Za-z0-9]+$:匹配數字和英文字母組成的字符串"); comboBox1.Items.Add(@"^/w+$:匹配由數字、26個英文字母或者下劃線組成的字符串 "); comboBox1.Items.Add(@"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$:匹配email地址"); comboBox1.Items.Add(@"^[a-zA-z]+://匹配(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$:匹配url"); comboBox1.Items.Add(@"^((/d{1,2}|1/d/d|2[0-4]/d|25[0-5])/.){3}(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])$:匹配IP"); comboBox1.Items.Add(@"--------------------------------------------------------------------------------------------------------"); //set default selected index this.comboBox1.SelectedIndex = 0; } //驗證button被點擊的時候 private void btnValidate_Click(object sender, EventArgs e) { //textBox2.Enabled =true; string strTest = comboBox1.Text.ToString().Trim(); string[] strSplit = strTest.Split(':'); //設置正則表達式 Regex r = new Regex(strSplit[0]); //看是否匹配 if (r.IsMatch(textBox2.Text.ToString().Trim())) { textBox3.Clear(); textBox3.Text = "Mathed"; } else { textBox3.Clear(); textBox3.Text = "Not Math!"; //textBox3.Clear(); } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.Text == "--------------------------------------------------------------------------------------------------------"|| this.comboBox1.SelectedIndex==-1) { // comboBox1.Text = ""; textBox2.Enabled = false; btnValidate.Enabled = false; } else { textBox2.Enabled = true; btnValidate.Enabled = true; } } } }
1. 前言 正則表達式是一種用來匹配字符串的強有力工具。設計思想是用一種描述性的語言來給字符串定義一個規則,凡是符合規則的字符串我們就認爲它“匹配”了,否則該字符串就是不合法的。 日常開發中常常會使用正則表達式,例如:對數據格式進行校
作者:太業 流式處理語言發展 早期流式處理概念: 20 世紀 70 年代,編程語言如 APL 提供了對數組的流式操作,這可以看作是流式處理語法的早期形式。 管道(Pipes)概念在 UNIX 系統中的引進使得可以通過命令行將一個命令的
本文整理自Zabbix中級認證專家李銘栓(滿分學員)在Zabbix Meetup廣州站的演講。 掌握這幾種監控方式解決80%的監控問題,剩下的20%如何實現?這裏有答案! 幾點經驗分享: 1
隨着業務的發展,文件數量和文件大小會急劇增加,文件遷移的數量和難度不斷攀升。oss_pipe 是rust編寫的文件遷移工具,旨在支撐大規模的文件遷移場景。 編寫 oss_pipe 的初衷 •同類產品面臨的問題 •rust 語
一般來說,錄入數據的時候,我們都採用在一個窗體界面中,根據不同內容進行錄入。但是有時候涉及主從表的數據錄入,從表的數據有時候爲了錄入方便,也會通過表格控件直接錄入。在Winform開發的時候,我們很多時候可以利用表格GridControl控
實質上,ReSharper特徵可用於C#,VB.net,XML,Asp.net,XAML,和構建腳本。 使用ReSharper,你可以進行深度代碼分析,智能代碼協助,實時錯誤代碼高亮顯示,解決方案範圍內代碼分析,快速代碼更正,一步完成代碼格
JetBrains IDEs日前正式發佈了v2024.1版本,此版本中最大的亮點就是帶來了AI賦能的全行代碼補全,同時在最新的IDEs中重做了終端、擁有更強大的代碼編輯和導航功能、更智能的代碼分析和提示、更優化的性能、更豐富的插件和集成等。
通義靈碼自從入職阿里雲以來備受行業關注。5 月 24 日,阿里雲工程師奔赴北京、成都、杭州三城,向企業和開發者介紹並演示通義靈碼,通義靈碼依然是大家話題的C位,並收穫了衆多粉絲。 @杭州 阿里雲金融創新峯會 今天,2024 阿里雲金融創新峯
DevExpress Office File API是一個專爲C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔
在一些字典綁定中,往往爲了方便展示詳細數據,需要把一些結構樹展現在樹列表TreeList控件中或者下拉列表的樹形控件TreeListLookUpEdit控件中,爲了快速的處理數據的綁定操作,比較每次使用涉及太多細節的操作,我們可以把相關的數
DevExtreme擁有高性能的HTML5 / JavaScript小部件集合*使您可以利用現代Web開發堆棧*包括React*Angular*ASP.NET Core*jQuery*Knockout等*構建交互式的Web應用程序。從Ang
var obj = {} var texts = 'hello' let ipt = document.querySelector('#input') let txt = document.querySelector(
前端面試題 - vue的雙向綁定原理是什麼? vue2的雙向數據綁定是通過數據劫持結合發佈者訂閱者模式的方式來實現。 通過object.defineProperty來劫持各個屬性的setter,getter,在數據變化時發佈消息給訂閱者,
本文分享自華爲雲社區《10分鐘搞懂各種內存溢出案例!!(含完整源碼,建議收藏)》,作者:冰 河。 作爲程序員,多多少少都會遇到一些內存溢出的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個假程序員!哈哈,開個玩笑。今天,我
Ai technology 前言 AppBuilder上線了低代碼製作組件功能,可以通過工作流的方式構建自定義組件,完成簡單Agent無法完成的複雜功能,使得生成的文本更加定製化,