Skip to main content

Table 11 Regular expressions used in the process of linking Stack Overflow threads with API elements

From: Redocumenting APIs with crowd knowledge: a coverage analysis based on question types

1)

((?s)(/.*?/))|(//.*)

 

Regex for matching comments inside “/* */” or preceded by “//”

2)

((?s)(.̈*?)̈)

 

Regex for matching natural language text inside “”

3)

( bElementShortName b)

 

Regex for API element short name boundary matching. For example:

 

the regex ( bJCheckBox b) matches JCheckBox but does

 

not match JCheckBoxMenuItem

4)

( bElementShortName b)(?!.PartialShortNames)

 

Regex for API element short name boundary matching with negative look-ahead. For example: the regex( bDefaultTableCellRenderer b)(?!.UIResource)matches DefaultTableCellRenderer but does not matchDefaultTableCellRenderer.UIResource

5)

(?∖ bElementShortName b)

 

Regex for API element short name boundary matching with negative look-behind. For example: the regex (?<!ScrollPaneLayout.|BasicComboBoxEditor.) ( bUIResource b) matches UIResource but does not match neitherScrollPaneLayout.UIResource nor BasicComboBoxEditor.UIResource

6)

(b([A-Z_]+[a-z_0-9]+)2, b)| (b([A-Z_])2,[a-z_0-9]+ b)| ([̱A-Z_]+[a-z_0-9]+[A-Z_]+ b)

 

Regex for matching multi-word API element short name (camel case). For example: the regex matches SwingUtilities,JFrame, HTMLDocument and TextUI, but does not matchView and HTML