91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在java中怎么利用正則表達式匹配數字

發布時間:2020-12-03 17:47:12 來源:億速云 閱讀:312 作者:Leah 欄目:開發技術

在java中怎么利用正則表達式匹配數字?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

用于匹配的正則表達式為 :([1-9]\d*\.?\d*)|(0\.\d*[1-9])

(

[1-9] :匹配1~9的數字;

\d :匹配數字,包括0~9;

* :緊跟在 \d 之后,表明可以匹配零個及多個數字;

\. :匹配小數點;

? :緊跟在 \. 之后,表明可以匹配零個或一個小數點;

0 :匹配一個數字0;

)

其中的 [1-9]\d*\.?\d* 用以匹配諸如:1、23、34.0、56.78 之類的非負的整數和浮點數;

其中的 0\.\d*[1-9] 用以匹配諸如:0.1、0.23、0.405 之類的非負浮點數;

 private List 
 GetTmpFieldsList(List 
 FieldsList,String tmptableName,String IndexName) { 
 
 List 
 maps = new ArrayList<>();
 for(String field :FieldsList){
  //必須包含傳入的標識符,同時要包含數字
  if(field.toLowerCase().contains(tmptableName.toLowerCase())){
  FieldList e = new FieldList();
  String [] fieldArray = field.split("\\.");//帶數字的string
  field = field.replaceAll("\\_&#63;\\d+", ""); //去掉下劃線加數字 得有效的物理名
  String [] fieldArray2 = field.split("\\."); //不帶數字的string
  Pattern p = Pattern.compile("\\d+"); //得到字符串中的數字
  Matcher m = p.matcher(fieldArray[1]);
  if(m.find()){
   int key = Integer.parseInt(m.group());
   e.setCaseValue(key);
   if(StringUtils.isEqual(fieldArray2[1], IndexName)){ //for BAT203
   e.setField("CHECK_POSITION"); //項目物理名
   }else{
   e.setField(fieldArray2[1]); //項目物理名
   }
   e.setFieldName(fieldArray[1]); //項目物理名別名
   maps.add(e);
  }
  /**else{ 只有后面帶數字的才可以
   if(StringUtils.isEqual(fieldArray2[1],IndexName)){ //for BAT203
   e.setField("CHECK_POSITION"); //項目物理名
   }else{
   e.setField(fieldArray2[1]);
   }
   e.setFieldName(fieldArray[1]);
   maps.add(e);
  }**/
  }
 }
 //Add ACE商品マスタ.更新フラグ 
 return maps;
 }

補充知識:關于fasterxml-jackson發生Can not deserialize instance of異常原因驗證

這兩天線上有大量的

java.lang.IllegalArgumentException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

at [Source: N/A; line: -1, column: -1]錯誤發生。

有經驗的人一看,就知道是對象屬性轉換發生異常了。為了把這個錯誤的根本原因找到。

只能上代碼模擬了。

/**
 * Created by changle on 17/1/9.
 */
@Slf4j
public class JSONTest {
 public static void main(String[] args) {
 testAtoB();
 //testAtoB() 發生:Can not deserialize instance of com.test.JSONTest$Hobby out of START_ARRAY token
 
 testBtoA();
 //testBtoA() 發生:Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
 }
 
 public static void testAtoB(){
 List<Hobby> hobbies = new ArrayList<>();
 Random random = new Random();
 for(int i=0;i<3;i++){
  Hobby hobby = new Hobby(random.nextInt(),"測試名稱","測試類型",random.nextInt(100));
  hobbies.add(hobby);
 }
 StudentA studentA = new StudentA();
 studentA.setAge(23);
 studentA.setFromCity(true);
 studentA.setMoney(3000);
 studentA.setName("張三");
 studentA.setHobbies(hobbies);
 try {
  String str = JSON.json(studentA);
  log.info("str={}",str);
  //list轉換單個projo
  StudentB studentB = JsonUtil.jsonObject(str, StudentB.class);
  log.info("studentB.name:{}",studentB.getName());
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
 
 public static void testBtoA(){
 Random random = new Random();
 Hobby hobby = new Hobby(random.nextInt(), "測試名稱", "測試類型", random.nextInt(100));
 StudentB studentB2 = new StudentB();
 studentB2.setAge(23);
 studentB2.setFromCity(true);
 studentB2.setMoney(3000);
 studentB2.setName("張三");
 studentB2.setHobbies(hobby);
 String str2 = null;
 try {
  str2 = JSON.json(studentB2);
  //單個projo轉換list
  StudentA studentA2 = JsonUtil.jsonObject(str2, StudentA.class);
  log.info("studentB.name:{}", studentA2 == null &#63; "" : studentA2.getName());
 } catch (IOException e) {
  e.printStackTrace();
 }
 }
 
 @Data
 public static class StudentA{
 private String name;
 private int age;
 private long money;
 private boolean isFromCity;
 private List<Hobby> hobbies;
 }
 
 @Data
 public static class StudentB{
 private String name;
 private int age;
 private long money;
 private boolean isFromCity;
 private Hobby hobbies;
 }
 
 @Data
 public static class Hobby{
 private long hId;
 private String hName;
 private String type;
 private int score;
 
 public Hobby(){}
 
 public Hobby(long hId,String hName,String type,int score){
  this.hId = hId;
  this.hName = hName;
  this.type = type;
  this.score = score;
 }
 }
}

在java中怎么利用正則表達式匹配數字

在java中怎么利用正則表達式匹配數字

結論:

Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

該錯誤是因為目標類屬性keyX需要ArrayList類型的,待轉換的json串里屬性名keyX對應的,不是一個ArrayList集合,而是單個 POJO。

Can not deserialize instance of com.test.JSONTest$Hobby out of START_ARRAY token

該錯誤是因為目標類屬性keyX需要JSONTest$Hobby類型的,待轉換的json串里屬性名keyX對應的,不是一個POJO對象,而是ArrayList集合。

關于在java中怎么利用正則表達式匹配數字問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舒城县| 衡水市| 醴陵市| 开原市| 新余市| 灯塔市| 沿河| 资阳市| 将乐县| 玉田县| 安陆市| 定州市| 兰溪市| 南澳县| 靖西县| 永平县| 东海县| 邓州市| 姚安县| 石泉县| 昌宁县| 东乡族自治县| 疏附县| 清苑县| 喀什市| 元江| 广南县| 建宁县| 阿荣旗| 山丹县| 巫溪县| 阿拉善右旗| 横峰县| 特克斯县| 西宁市| 县级市| 云安县| 兖州市| 花莲市| 平阳县| 乡城县|