[Gambas-bugtracker] Bug #2644: RegExp not returning submatches
bugtracker at gambaswiki.org
bugtracker at gambaswiki.org
Fri Oct 21 02:42:05 CEST 2022
http://gambaswiki.org/bugtracker/edit?object=BUG.2644&from=L21haW4-
T. Lee DAVIDSON reported a new bug.
Summary
-------
RegExp not returning submatches
Type : Bug
Priority : Medium
Gambas version : 3.17
Product : Other components
Description
-----------
The Wiki documentation [1] states to use the RegExp array accessor to get submatches. However, the RegExp array is not populated with the submatches.
The following code:
Public Sub Main()
Dim hRegex As RegExp
' Note the double escape in the regexp to prevent "Bad character constant in string" error.
' The documentation does not mention the need for this. Is it documentation error, or also a bug?
hRegex = New RegExp("quick brown fox", "brown (\\S+)")
Print hRegex.Text
Print hRegex.Count
For i As Integer = 0 To hRegex.Count - 1
Print Subst("Index &1: &2", i, hRegex[i].Text)
Next
End
Yields:
brown fox
1
Index 0: brown fox
[1] http://gambaswiki.org/wiki/comp/gb.pcre/regexp/submatches
System information
------------------
[System]
Gambas=3.17.3
OperatingSystem=Linux
Kernel=5.3.18-150300.59.93-default
Architecture=x86_64
Distribution=openSUSE Leap 15.3
Desktop=KDE5
Font=Noto Sans,10
Scale=7
Theme=breeze
Language=en_US.UTF-8
Memory=15996M
[Libraries]
Cairo=/usr/lib64/libcairo.so.2.11600.0
Curl=/usr/lib64/libcurl.so.4.6.0
DBus=/usr/lib64/libdbus-1.so.3.19.4
GDK2=/usr/lib64/libgdk-x11-2.0.so.0.2400.32
GDK3=/usr/lib64/libgdk-3.so.0.2404.16
GStreamer=/usr/lib64/libgstreamer-1.0.so.0.1603.0
GTK+2=/usr/lib64/libgtk-x11-2.0.so.0.2400.32
GTK+3=/usr/lib64/libgtk-3.so.0.2404.16
OpenGL=/usr/lib64/libGL.so.1.7.0
Poppler=/usr/lib64/libpoppler.so.89.0.0
QT5=/usr/lib64/libQt5Core.so.5.12.7
SDL=/usr/lib64/libSDL-1.2.so.0.11.4
SQLite=/usr/lib64/libsqlite3.so.0.8.6
[Environment]
AUDIODRIVER=pulseaudio
COLORTERM=1
CONFIG_SITE=/usr/share/site/x86_64-unknown-linux-gnu
CPU=x86_64
CSHEDIT=emacs
CVS_RSH=ssh
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/<user>/1000/bus
DESKTOP_SESSION=/usr/share/xsessions/plasma5
DISPLAY=:0
FROM_HEADER=
GB_GUI=gb.qt5
GPG_TTY=not a tty
GTK2_MODULES=unity-gtk-module
GTK3_MODULES=unity-gtk-module
GTK_IM_MODULE=cedilla
GTK_MODULES=canberra-gtk-module
G_BROKEN_FILENAMES=1
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
HISTSIZE=1000
HOME=<home>
HOST=<hostname>
HOSTNAME=<hostname>
HOSTTYPE=x86_64
JAVA_BINDIR=/usr/lib64/jvm/java/bin
JAVA_HOME=/usr/lib64/jvm/java
JAVA_ROOT=/usr/lib64/jvm/java
JDK_HOME=/usr/lib64/jvm/java
JRE_HOME=/usr/lib64/jvm/java
KDE_FULL_SESSION=true
KDE_SESSION_UID=1000
KDE_SESSION_VERSION=5
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LESS=-M -I -R
LESSCLOSE=lessclose.sh %s %s
LESSKEY=/etc/lesskey.bin
LESSOPEN=lessopen.sh %s
LESS_ADVANCED_PREPROCESSOR=no
LOGNAME=<user>
MACHTYPE=x86_64-suse-linux
MAIL=/var/spool/mail/<user>
MANPATH=/usr/local/man:/usr/share/man
MINICOM=-c on
MORE=-sl
OSTYPE=linux
PAGER=less
PAM_KWALLET5_LOGIN=/run/<user>/1000/kwallet5.socket
PATH=<home>/.local/bin:<home>/bin:/usr/local/bin:/usr/bin:/bin:<home>/opt/GNAT/2019/bin
PATH_STATIC=<home>/.local/bin:<home>/bin:/usr/local/bin:/usr/bin:/bin:<home>/opt/GNAT/2019/bin
PROFILEREAD=true
PWD=<home>
PYTHONSTARTUP=/etc/pythonstart
QEMU_AUDIO_DRV=pa
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_IM_MODULE=xim
QT_IM_SWITCHER=imsw-multi
QT_LOGGING_RULES=*.debug=false
QT_SYSTEM_DIR=/usr/share/desktop-data
SDK_HOME=/usr/lib64/jvm/java
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1883,unix/<hostname>:/tmp/.ICE-unix/1883
SHELL=/bin/bash
SHLVL=0
SSH_AGENT_PID=1803
SSH_ASKPASS=/usr/lib/ssh/ssh-askpass
SSH_AUTH_SOCK=/tmp/ssh-ZXaA9ucZ1eZE/agent.1752
TERM=xterm
TZ=:/etc/localtime
UBUNTU_MENUPROXY=1
USER=<user>
WINDOWMANAGER=/usr/bin/startplasma-x11
XAUTHLOCALHOSTNAME=<hostname>
XAUTHORITY=<home>/.Xauthority
XCURSOR_THEME=breeze_cursors
XDG_CONFIG_DIRS=/etc/xdg
XDG_CURRENT_DESKTOP=KDE
XDG_DATA_DIRS=<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_RUNTIME_DIR=/run/<user>/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=<user>
XDG_SESSION_DESKTOP=KDE
XDG_SESSION_ID=3
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_SESSION_TYPE=x11
XDG_VTNR=7
XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
XMODIFIERS=@im=local
XNLSPATH=/usr/share/X11/nls
XSESSION_IS_UP=yes
force_s3tc_enable=true
More information about the Bugtracker
mailing list