日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Java&php-preg_Match的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

Java中的PHP preg_Match($Pattern,$Text)的確切等價物是什么?

在下面的php&Java程序中,對于相同的文本輸入和正則表達式模式,我得到了不同的結果。

Regex-(?:(?>cancer()|problem()|(?>1|2)w+)W*?){0,3}12
一定要在字數上匹配術語–“癌癥問題”。這里是{0,3}

PHP

<?php
$text      = "doctors found many cancer related chest problems in japan during second world war."; 
$pattern   = "/\b(?:(?>cancer()|problem()|(?>\1|\2)\w+)\b\W*?){0,3}\1\2/i";

if (preg_match($pattern, $text)) {
    echo 'matched<br>';

} else {
    echo 'not matched<br>';        
}
?>

上述程序的Java實現的確切等價物是什么?

我在下面的Java程序中對相同的文本輸入和正則表達式模式得到了不同的結果。

Java

package com.regex.test;

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

public class MatchTermWithin_1 {

    final static String string = "doctors found many cancer related chest problems in japan during second world war.";

    final static String regex = "\b(?:(?>cancer()|problem()|(?>\1|\2)\w+)\b\W*?){0,3}\1\2";        

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
    final Matcher matcher = pattern.matcher(string);

    if (matcher.find()) {
        System.out.println("Full match: " + matcher.group(0)+"
");
        for (int i = 0; i <= matcher.groupCount(); i++) {
            System.out.println("Group " + i + ": " + matcher.group(i));
        }
        System.out.println("
");
    }else {
        System.out.println("not found");
    }


    if(matcher.matches()) {
        System.out.println("matched "+"
");
    }else {
        System.out.println("not matched " + "
");
    }

    }    
}

推薦答案

我為此制定了解決方案。希望這能為Java和PHP的其他專業人士提供線索。

package com.ae.text.processor;

import org.apache.commons.lang3.ArrayUtils;

public class ProximitySearch {

    public static boolean MatchTermWithinNumberOfWords(String text, String term, int distance) {

    String[] term_words = term.split(" ");
    String[] right_side_array;
    String right_side = "";
    String tmp = "";

    if (text.contains(term_words[0])) {
        String[] splitted_search_words = text.split(term_words[0]);
        for (int i = 0; i < splitted_search_words.length; i++) {
        if (i == 1) {
            right_side = splitted_search_words[1];
            if (right_side.contains(term_words[1])) {
            right_side_array = right_side.split(" ");
            int indexOfSecondTerm = ArrayUtils.indexOf(right_side_array, term_words[1]);
            for (int j = 0; j <= indexOfSecondTerm; j++) {
                tmp = tmp + " " + right_side_array[j];
            }
            if (indexOfSecondTerm <= distance) {
                printMatched(term_words[0] + tmp);
                return true;
            } else {
                return false;
            }
            }
        }
        }
    }
    return false;
    }

    public static void printMatched(String mathed) {
    System.out.println(mathed);
    }

    public static void main(String[] args) {
    String text = "doctors found many cancer related chest problems in japan durring second world war.";
    String term = "cancer problems";
    int distance = 3;
    System.out.println(MatchTermWithinNumberOfWords(text, term, distance));
    }
}

這篇關于Java&amp;php-preg_Match的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:amp Java PHP preg_Match
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定