正则表达式:完全加通配符文本

时间:2017-11-13 15:25:21

标签: regex

我正在为我的自动建议密钥搜索寻找正则表达式。

字符串示例:

universal studio japan
universal
japan

基本上如果用户输入" universal jap"或者"通用日本", "环球影城日本"应该匹配。

2 个答案:

答案 0 :(得分:1)

这并不是一个非常好的问题,但无论如何你要去:

/universal .+ japan/gi    => gi for global & case insensitive

看看https://regex101.com/

答案 1 :(得分:0)

要匹配单词,您应该用C = C.reshape((C.shape[0], C.shape[1], 1)) tr_C, ts_C, tr_r, ts_r = train_test_split(C, r, train_size=.8) batch_size = 1000 print('Build model...') model = Sequential() model.add(LSTM(8, batch_input_shape=(batch_size, C.shape[1], 1), stateful=True, activation='relu')) model.add(Dense(1, activation='relu')) print('Training...') model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) model.fit(tr_C, tr_r, batch_size=batch_size, epochs=1, shuffle=True, validation_data=(ts_C, ts_r)) (单词边界)围绕它们。这将检查以确保存在“单词边界”,其中断言\b匹配字符串中的位置。

使用类似下面的内容会匹配(^\w|\w$|\W\w|\w\W)universal之间的任何字符,这可能不是您要找的字符,但我发布它以便您(OP)可以决定哪种方法最适合你。

See regex in use here

japan

下一个方法只匹配单词字符(\buniversal\b.*\bjap(?:an)?\b ),连字符a-zA-Z0-9_或单词之间的空格(确保没有其他特殊字符,如点/句点-) 。正则表达式可以快速复杂化,因此,假设您现在还想匹配小数点或缩写词,此正则表达式将不再是最佳解决方案,您应该使用第一个。

See regex in use here

.

另请注意,我已将\buniversal\b[ \w-]*\bjap(?:an)?\b 更改为japan,因为您的问题指定它也应与jap(?:an)?匹配。如果不是这种情况,只需用后者替换后者即可。