欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用正則表達式匹配浮點型數據

 更新時間:2022年05月27日 11:32:24   作者:R峰  
正則表達式用于字符串處理、表單驗證、日志數據分析等場合,實用高效,下面這篇文章主要給大家介紹了關于如何利用正則表達式匹配浮點型數據的相關資料,需要的朋友可以參考下

前言:

在開發(fā)中我們常常會使用到正則表達式,但很奇怪的是,每次你在使用正則表達式的時候你都發(fā)現你不會寫,不知道語法,可能你大概還記得一部分,但很模糊,對于正則表達式的語法真心記不住,別的程序猿是不是我不清楚,但我是就是這樣子,每次寫都會發(fā)現記不住了,然后又去網上查找資料,又進行一次學習,慢慢的發(fā)現基本語法你又會了,但實際上你還是不會,可能是沒有完全明白或者在實際開發(fā)中沒有長期的使用導致,今天寫這篇文章純屬嘮嗑,其余的差不多都是復制粘貼了,另外說一下最近這一次翻開正則表達式去匹配浮點型數據做的一點思路,這一點和之前的是不一樣的。以前寫的正則去匹配浮點型的時候會發(fā)現無法完全正確的匹配,找了網上不少的高手或者菜鳥教程直接抄過來使用,發(fā)現其實都是有問題的,問題出在哪兒呢,大部分出現的問題都是在處理"0"和".“的情況下。你可能忘記了,我可以幫大家會議一下,當然大部分還是對的,但是如果出現以0開頭的時候,你會發(fā)現,我可以輸入n個0開頭也能匹配出來,雖然有點會把連續(xù)的多個0開頭的部分丟掉,但還是讓人感覺匹配的不是很好,我有強迫癥,這種匹配我認為是不正確的,另外就是”.",當你使用"."的時候,你會發(fā)現"xxxx."像這種格式的都能匹配,這是在逗我嗎,難道這也算正確的,這種情況我會直接否認掉,但是在以往的開發(fā)中,我為了完后任務,當然也就不管了,沒那么嚴格,對于上面出現的這幾種情況我都心有不甘的默認了,畢竟開發(fā)需要的時間不能都花在搞這種問題上,時間那么有限,所以我當然就默許了這種問題的存在。今天呢又來搞了搞正則,還是相同的東西,我想自己寫了,所以自己開搞了,廢話有點多了,接下來就進入主題吧。

正則表達式

1、非負浮點型:(^[1-9]\d*\.\d+$|^0\.\d+$|^[1-9]\d*$|^0$)

2、浮點型:(^-?[1-9]\d*\.\d+$|^-?0\.\d+$|^-?[1-9]\d*$|^0$)

上面的正則是怎么寫的呢?我來講一講

將浮點型數據做拆分,為啥要拆分呢,因為不拆分很難實現匹配浮點型字符串的正確格式

拆分成4類

1、非0開頭的浮點型(123.12)
2、0開頭的浮點型(0.12)
3、非0整數型
4、0

分別正則表達式

1、^[1-9]\d*\.\d+$
2、^0\.\d+$
3、^[1-9]\d*$
4、^0$

最后將4個表達式組合到一個中就得到最終的結果

(^[1-9]\d*\.\d+$|^0\.\d+$|^[1-9]\d*$|^0$)

浮點型是存在正負數的,所以還需要給得到的正則表達式添加符號

(^-?[1-9]\d*\.\d+$|^-?0\.\d+$|^-?[1-9]\d*$|^0$)

語法解析

符號描述
^以什么開頭
$以什么結尾
.匹配任意非\n的單字符
\.匹配.
+匹配一次或多次
*匹配0次或多次
?匹配0次或1次
x|y表示匹配x或者y
{n}表示匹配n次
[1-9]表示范圍1至9的任意1個數字
()強制優(yōu)先級,匹配括號需要在括號前加"\"
-表示負號

Java代碼

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {
	public static void main(String args[]) {
		String str = "";
		String pattern = "(^[1-9]\\d*\\.\\d+$|^0\\.\\d+$|^[1-9]\\d*$|^0$)";

		Pattern r = Pattern.compile(pattern);
		Matcher m = r.matcher(str);
		System.out.println(m.matches());
	}

}

附:正則表達式(同時匹配整型數和浮點數)

pattern="^[1-9]*[0-9]?(\.[0-9]{1,2})?$"

總結

到此這篇關于利用正則表達式匹配浮點型數據的文章就介紹到這了,更多相關正則匹配浮點型數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 用正則表達式來表示中文

    用正則表達式來表示中文

    用正則表達式來表示中文...
    2007-04-04
  • 正則表達式基礎學習一文入門

    正則表達式基礎學習一文入門

    這篇文章主要為大家介紹了正則表達式基礎學習一文入門詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)

    正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)

    前面我們知道正則表達式有很多元字符表示匹配次數(量詞),都是可以重復匹配前面出現的單個字符次數,需要的朋友可以參考下
    2016-06-06
  • 匹配yyyy-mm-dd日期格式的的正則表達式

    匹配yyyy-mm-dd日期格式的的正則表達式

    今天頭讓我修改個javascript方法,驗證輸入的日期是否符合要求。恩。我們的要求是yyyy-mm-dd這樣的格式,其他的統(tǒng)統(tǒng)不符合要求。原來的方法沒用正則表達式,用了一堆判斷。
    2011-08-08
  • mysql update正則替換sql語句

    mysql update正則替換sql語句

    這篇文章主要介紹了mysql update正則替換sql語句的相關資料,需要的朋友可以參考下
    2015-09-09
  • PHP 正則表達式 推薦

    PHP 正則表達式 推薦

    正則表達式,大家在開發(fā)中應該是經常用到,現在很多開發(fā)語言都有正則表達式的應用,比如javascript,java,.net,php等等,我今天就把我對正則表達式的理解跟大家嘮嘮,不當之處,請多多指教
    2012-03-03
  • 史上最全正則表達式合集(馬上收藏)

    史上最全正則表達式合集(馬上收藏)

    這篇文章主要介紹了史上最全正則表達式合集(馬上收藏),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 前端正則表達式書寫及常用的方法

    前端正則表達式書寫及常用的方法

    這篇文章主要介紹了前端正則表達式書寫及常用的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • JS正則中的match與exec使用說明

    JS正則中的match與exec使用說明

    match() 方法將檢索目標字符串,以找到一個或多個與 正則表達式regexp 匹配的文本。
    2011-08-08
  • 正則表達式之捕獲組/非捕獲組介紹

    正則表達式之捕獲組/非捕獲組介紹

    使用小括號指定一個子表達式后,匹配這個子表達式的文本(也就是此分組捕獲的內容)可以在表達式或其它程序中作進一步的處理。
    2011-08-08

最新評論