Skip to content

Commit a4ac784

Browse files
author
Marcel Overdijk
committed
Support for escaping _ (underscores) in triggers
1 parent a68dd00 commit a4ac784

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

rivescript-core/src/main/java/com/rivescript/RiveScript.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1478,7 +1478,8 @@ private String triggerRegexp(String user, Client profile, String trigger) {
14781478
// Simple regexps are simple.
14791479
regexp = regexp.replaceAll("\\*", "(.+?)"); // * -> (.+?)
14801480
regexp = regexp.replaceAll("#", "(\\\\d+?)"); // # -> (\d+?)
1481-
regexp = regexp.replaceAll("_", "(\\\\w+?)"); // _ -> ([A-Za-z ]+?)
1481+
regexp = regexp.replaceAll("(?<!\\\\)_", "(\\\\w+?)"); // _ -> ([A-Za-z ]+?)
1482+
regexp = regexp.replaceAll("\\\\_", "_"); // \_ -> _
14821483
regexp = regexp.replaceAll("\\s*\\{weight=\\d+\\}\\s*", ""); // Remove {weight} tags
14831484
regexp = regexp.replaceAll("<zerowidthstar>", "(.*?)"); // * -> (.*?)
14841485

@@ -1989,7 +1990,7 @@ private String formatMessage(String message) {
19891990
message = Util.substitute(subs_s, subs, message);
19901991

19911992
// Sanitize what's left.
1992-
message = message.replaceAll("[^a-z0-9 ]", "");
1993+
message = message.replaceAll("[^a-z0-9_ ]", "");
19931994
return message;
19941995
}
19951996

0 commit comments

Comments
 (0)