1. 程式人生 > >關於QT的正則表示式類QRegExp的細節問題

關於QT的正則表示式類QRegExp的細節問題

想要匹配格式為“YYYY.MM.DD HH:mm:ss.zzz”的時間,關注點是符號“.”的使用,因為正則表示式的語法中“.”正好是特殊符號,代表可以匹配任何非\n字元。而我們的時間格式中“.”就是代表一個點,因此需要轉意。

方式一:直接寫在程式碼裡QString儲存

^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})\\.(((0[13578]|1[02])\\.(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)\\.(0[1-9]|[12][0-9]|30))|(02\\.(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))\\.02\\.29)) ([0-1][0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9]\\.[0-9]{3}$

方式二:通過QLineEdit或者QTextEdit手動輸入;程式從介面控制元件去獲取正則表示式

^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})\.(((0[13578]|1[02])\.(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)\.(0[1-9]|[12][0-9]|30))|(02\.(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))\.02\.29)) ([0-1][0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9]\.[0-9]{3}$

總結:主要是因為字串處理導致的。“\.”會被認為是轉意,QString會把它處理為“.;但是QEegexp在進行匹配時,需要有一個“\,否則“.”會被認為是一個萬用字元,而不是我們想要的點。

相關推薦

關於QT表示式QRegExp細節問題

想要匹配格式為“YYYY.MM.DD HH:mm:ss.zzz”的時間,關注點是符號“.”的使用,因為正則表示式的語法中“.”正好是特殊符號,代表可以匹配任何非\n字元。而我們的時間格式中“.”就是代

Qt中的表示式QRegExp

QRegExp是Qt的正則表示式類.Qt中有兩個不同類的正則表示式.第一類為元字元.它表示一個或多個常量表達式.令一類為轉義字元,它代表一個特殊字元.一.元字元.匹配任意單個字元.例如,1.3可能是1

JDK中表示式庫詳解(一)

二、以下是自己對正則表示式的一些理解。    [size=medium]1. 正則表示式規則1.1 普通字元    字母、數字、漢字、下劃線、以及後邊章節中沒有特殊定義的標點符號,都是"普通字元"。表示式中的普通字元,在匹配一個字串的時候,匹配與之相同的一個字元。    舉例1:表示式 "c",在匹配字串 "

限制QLineEdit的數值輸入範圍(QT表示式方法),順便簡單介紹下QT表示式方法

首先看幾個例子: 1.限制浮點數輸入範圍為[-180,180] QRegexp rx("^-?(180|([1-9]?[0-9]|1[0-7][0-9])(\\.\\d)?)$"); QRegExpValidator *pReg = new QRegExpV

Qt——表示式

源地址:http://www.cnblogs.com/hellovenus/p/4984751.html 在專案中經常會遇到對字串進行操作的情況,我們可以直接使用QString的一些函式,但QT提供了一個更加強大的類——QRegExp,使用正則表示式來操作字串。

Qt通過QRegExp來實現輸入的有效性判斷與表示式的學習

  ^[1-9]d*$    //匹配正整數   ^-[1-9]d*$   //匹配負整數   ^-?[1-9]d*$   //匹配整數   ^[1-9]d*|0$  //匹配非負整數(正整數 + 0)   ^-[1-9]d*|0$   //匹配非正整數(負整數 + 0)   ^[1-9]d*.d*|0.d*

QT---之表示式QRegExp詳解

引言     正則表示式(regular expression)就是用一個“字串”來描述一個特徵,然後去驗證另一個“字串”是否符合這個特徵。比如 表示式“ab+” 描述的特徵是“一個 'a' 和 任意個 'b' ”,那麼 'ab', 'abb', 'abbbbbbbbb

qt中的表示式QRegExp使用大全以及匹配中括號[]方法大全

Qt的SDK裡包含一個很幫的GUI工具,可以方便我們進行這類轉換並測試你的表示式。可以按照如下的方式開啟:“開始”->“程式”->“Qt SDK by Nokia v2010.02.1 (open source)”->“QtDemo”->“To

JavaSE_day9_常用API_Object_String_StringBuffer_表示式_Date_DateFormat_Calendar_基本資料型別包裝

1.Object類 是Java語言中的根類,即所有類的父類。它中描述的所有方法子類都可以使用。所有類在建立物件的時候,最終找的父類就是Object 方法: equals方法,用於比較兩個物件是否相同,它其實就是使用兩個物件的記憶體地址在比較。Object類中的equals方法內部使用的就

表示式和Object

Java 正則表示式 Test2.java 檔案程式碼: /正則表示式 regex /*在對字串資料進行一些複雜的匹配,查詢,替換等操作時,通過正則表示式,可以方便實現字串的複雜操作  *   */

表示式、Math、SimpleDateFromat、Calendar+JAVA學習筆記-DAY14

14.01_常見物件(正則表示式的概述和簡單使用) A:正則表示式 是指一個用來描述或者匹配一系列符合某個語法規則的字串的單個字串。其實就是一種規則。有自己特殊的應用。 作用:比如註冊郵箱,郵箱有使用者名稱和密碼,一般會對其限制長度,這個限制長度

表示式 - - Pattern 和 Matcher (三)

一、Pattern類 Pattern類中有兩個最常用的方法: (1)boolean isMatch = Pattern.matches("regExp", "string"); matches()方法表示正則表示式regExp是否匹配字串string,匹配返回true,不匹配返回false

QT表示式從tableView中篩選出某一日期範圍內的資料

QDate date1,date2; date1=ui->dateEdit_2->date();//提取開始時間 date2=ui->dateEdit_3->date();//提取結束時間 data_filter->

表示式(Pattern和Matcher

正則表示式: 概念:正確規則的表示式 規則java給我們定的,是指一個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。其實就是一種規則。有自己特殊的應用。 正則表示式的組成規則 規則字元在java.util.regex Pattern類中 A:字元 x 字元 x。舉例:‘

表示式(預定義字元演示)

public class Demo2_Regex { /** * [abc] a、b 或 c(簡單類) [^abc] 任何字元,除了 a、b 或 c(否定) [a-zA-Z] a 到 z 或 A 到 Z,兩頭的字母包括在內(範圍) [a-d[m-p]] a 到 d

表示式工具

1.  正則表示式匹配兩個指定字串中間的內容 public static List<String> getSubUtil(String soap,String rgex){ List<String> list = new ArrayList

Date、DateFormat、Calendar、Math、System、包裝表示式

  java.util.Date 日期類     基礎概念:       時間原點: 1970 1月 1日 00:00:00       1秒 = 1000毫秒     構造方法         public Date() 返回當前日期 當前日期=1970到現在所經歷過的毫秒值        

Java 知識點整理-8.表示式+Math+Random+System+BigInteger+BigDecimal+Date+SimpleDateFormat+Calendar

目錄 正則表示式 Math類 Random類 System類  BigInteger類 BigDecimal類 Date類(日期類) DateFormat類 SimpleDateFormat類 Calendar類 正則表示式 1、正則

Java中表示式相關Pattern和Matcher的使用

在Java中,java.util.regex包定義了正則表示式使用到的相關類,其中最主要的兩個類為:Pattern、Matcher:   Pattern 編譯正則表示式後建立一個匹配模式;   Matcher 使用Pattern例項提供的正則表示式對目標字串進行匹

表示式中Pattern、Matcher和matches()方法簡析

1.簡介:  java.util.regex是一個用正則表示式所訂製的模式來對字串進行匹配工作的類庫包。  它包括兩個類:Pattern和Matcher 。 Pattern: 一個Pattern是一個正則表示式經編譯後的表現模式。  Matcher: 一個Matcher物件