package main
import (
"fmt"
"jy/admin/track"
"jy/clear"
"jy/extract"
. "jy/mongodbutil"
"log"
"os"
"qfw/util"
"regexp"
"strconv"
"strings"
"testing"
"time"
)
func Test_han(t *testing.T) {
str := `[\u4e00-\u9fa5]` //"[\u4e00-\u9fa5]"
//var rg = regexp.MustCompile(`[\u4e00-\u9fa5]`)会出错
if strings.Contains(str, "\\u") {
pattern, _ := strconv.Unquote(`"` + str + `"`)
log.Println(pattern)
}
var rg = regexp.MustCompile(str)
fmt.Println(rg.MatchString(str))
os.Exit(0)
}
func Test_task(t *testing.T) {
Mgo = MgoFactory(1, 3, 120, "192.168.3.207:27092", "extract_kf")
//extract.StartExtractTaskId("5b8f804025e29a290415aee1")5c528686698414055c47b115
//extract.StartExtractTestTask("5e103206234ddc34b406c5d1", "5df59ee3e9d1f601e46fc3f9", "1", "mxs_v1", "mxs_v1")
extract.StartExtractTestTask("5cdd3025698414032c8322b1", "5df50776e9d1f601e4964179", "1", "mxs_v1", "mxs_v2")
//extract.StartExtractTestTask("5c3d75c96984142998eb00e1", "5c2a3d28a5cb26b9b76144dd", "100", "mxs_v3", "mxs_v3")
time.Sleep(5 * time.Second)
}
func Test_extractcity(t *testing.T) {
Mgo = MgoFactory(1, 3, 120, "192.168.3.207:27082", "extract_kf")
extract.InitDFA2()
//查询采购单位信息
extract.FindBuyer()
}
func Test_reg(t *testing.T) {
reg1, _ := regexp.Compile("((([((]\\d{3,4}[))])?(\\d{6,12}([×―—-\\-]+\\d{3,4})?|\\d{3,5}[×―—-\\-]+[\u3000\u2003\u00a0\\s]*\\d{6,12}([×―—-\\-]+\\d{3,})?|(\\d{2}[×―—-\\-])+\\d{8}[×―—-\\-](\\d{3}[、])+)(转\\d{3,4})?[或/、,,;;\u3000\u2003\u00a0\\s]*)+(\\d{3,})?)")
log.Println("---", reg1.FindAllString("05939-5365001(兰陵县芦柞镇人民政府)", -1))
reg2, _ := regexp.Compile("^\\d*[×―—-\\-]*[\u3000\u2003\u00a0\\s]*\\d*$")
log.Println("---", reg2.MatchString("张女士/"))
filterK := regexp.MustCompile("[((\\[【].*?[))\\]】]|<[^>].+?>|[①②③¥·;;‘“'’”,*<>((\\[【、))/\\]】??,。.\".\\s\u3000\u2003\u00a0]+|^[一二三四五六七八九十0-91234567890]+")
log.Println(filterK.FindString("二)采购项目联系人(代理机构)"))
}
func Test_reg1(t *testing.T) {
context := `sss
dfdf`
reg := regexp.MustCompile(`<\s*input.*value=['"](.[^'"]+).+>`)
tmp := reg.ReplaceAllString(context, "$1")
log.Println(tmp)
}
func Test_paths(t *testing.T) {
Mgo = MgoFactory(1, 3, 120, "192.168.3.207:27082", "extract_v3")
tracks := track.GetTrackPath("5b8dd276a5cb26b9b7faaa7c", "projectname", "rack_v3", "result_v3")
for code, v := range tracks {
if tmp, ok := v.([]map[string]interface{}); ok {
for k, v := range tmp {
if k == 0 {
log.Println(v)
} else {
log.Println(code, v["code"], v["value"])
}
}
}
break
}
}
func Test_clear(t *testing.T) {
value := "法拉(盛(客{)户)端副科级沙发俩括号的"
log.Println("pre---", value)
startChars := []string{"[((]", "[\\[【]", "[{{]", "[<《]", "〔"}
endChars := []string{"[))]", "[\\]】]", "[}}]", "[>》]", "〕"}
for k, v := range startChars {
sReg := regexp.MustCompile(v)
eReg := regexp.MustCompile(endChars[k])
sIndex := sReg.FindAllStringIndex(value, -1)
eIndex := eReg.FindAllStringIndex(value, -1)
sCount := len(sIndex)
eCount := len(eIndex)
if sCount == eCount {
continue
}
log.Println("value1---", value, sCount, eCount)
//清理前面
if sCount > eCount {
value = value[sIndex[eCount][1]:]
}
log.Println("value2---", value)
//清理后面
if sCount < eCount {
value = value[:eIndex[sCount][0]]
}
log.Println("value3---", value)
}
log.Println("value4---", value)
//交叉出现情况处理
sReplReg := regexp.MustCompile("[((\\[【{{〔<《][^))\\]】}}〕>》]*$")
eReplReg := regexp.MustCompile("^[^((\\[【{{〔<《]*[))\\]】}}〕>》]")
if sReplReg.MatchString(value) || eReplReg.MatchString(value) {
value = sReplReg.ReplaceAllString(value, "")
value = eReplReg.ReplaceAllString(value, "")
//value = fmt.Sprint(childCutNotPrs([]interface{}{value, data[1]}, count+1)[0])
}
log.Println("result---", value)
}
func Test_buyer(t *testing.T) {
Mgo = MgoFactory(1, 3, 120, "192.168.3.207:27092", "extract_kf")
demo, _ := Mgo.Find("demo_data", nil, `{"_id:1"}`, `{"buyer":1,"title":1}`, false, -1, -1)
result, _ := Mgo.Find("mxs_buyer", nil, `{"_id:1"}`, `{"buyer":1}`, false, -1, -1)
for _, d := range *demo {
id1 := util.BsonIdToSId(d["_id"])
buyer1 := util.ObjToString(d["buyer"])
//title := util.ObjToString(d["title"])
for _, r := range *result {
id2 := util.BsonIdToSId(r["_id"])
buyer2 := util.ObjToString(r["buyer"])
if id1 == id2 {
if buyer1 != buyer2 {
util.Debug(id1, buyer1, buyer2)
}
break
}
}
}
}
func Test_util1(t *testing.T) {
data := clear.CutSymbol([]interface{}{"----------123123", "-----123123"})
fmt.Println(data)
}